Какви са подрегионите?

Свързаното подразделение е сложно използване на SQL.

SQL

Най-модерните релационни бази данни включват SQL за добавяне и актуализиране на данни, създаване на структури и събиране на информация. SQL се основава на теории за данните, разработени през 70-те години на миналия век и оттогава непрекъснато се усъвършенства. Състои се от набор от състояния, включително SELECT, INSERT, CREATE и DELETE, последвани от няколко клаузи, които уточняват управляваните данни и опции, като сортиране и групиране. Широко разпространеното използване на бази данни се дължи на гъвкавостта и сложността на SQL; Тя позволява на организациите да анализират сложни групи от данни по много начини.

Запитвания и подпрофили

SQL команда за извличане на данни се нарича заявка. Обикновено програмистите използват SELECT заявката за заявки, въпреки че много от правилата за търсене на данни се отнасят и за INSERT, DELETE и UPDATE. Една проста заявка SELECT може да показва съдържанието на таблица с данни, като например следното изявление:

SELECT * FROM inventory;

Тази заявка показва всички записи в таблица, наречена "Инвентаризация" Можете да получите резултати от по-конкретна заявка, като добавите условни тестове, както в този отчет "Опис":

SELECT * от инвентара WHERE warehouse_code = 'chicago5';

Това изявление показва вашите рекламни места за депозит, chicago5.

Подзапитването е заявка в друга заявка. Следното изявление съдържа списък на запасите от тези позиции, които депозитите са в определен регион:

SELECT * от инвентара WHERE warehouse_code IN (SELECT warehouse_code ОТ складовете WHERE region = 'midwest');

Обърнете внимание, че тази заявка има две изрази SELECT, една, която показва записите в инвентара и друга, която установява основната заявка с депозитните кодове.

Свързано подразделение

В съответната подзаявка основните и подчинени заявки извличат данни от същата таблица. Вътрешната заявка изпълнява обобщена функция, като например статистика, и предава тази информация на външната заявка, която я използва като основа за сравнение. Например, тази корелативна подзадавка създава списък с инвентаризационни записи за позиции с цени над средната за депозит. Външната заявка предава информацията от депозита във вътрешната заявка и вътрешната заявка изпраща общата цена обратно към външната заявка:

SELECT part_number, price, storehouse_code ОТ инвентара i1 WHERE цена> (SELECT AVG (цена) FROM инвентаризация i2 WHERE warehouse_code.i1 = storehouse_code.i2);

Двете заявки използват псевдоним на таблици "I1" и "I2". Макар че се отнасят до същата таблица, използването на псевдонима позволява да се разглеждат заявките като две отделни единици.

Недостатъци на работата

За корелиращи подчинения SQL оценява вътрешната заявка веднъж за всеки запис във външната заявка. Когато размерите на масите се увеличат, процесът отнема повече време. Ако установите, че една съответстваща подзаявка отнема прекалено много време, за да завършите, помислете за използването на алтернатива, като зареждане на временна таблица с междинни резултати, а след това обработване на временната таблица директно срещу главната таблица с обикновена подзаявка. Макар и по-елегантно, може да бъде много по-бързо.