МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||||||||||||
Операції, що виконуються над сукупністю даних.Лекція 2. Оператор ORDER BY. Ключове слово DISTINCT. Предикат BETWEEN. У багатьох випадках потрібно вибирати рядки, значення відповідного поля яких потрапляють у певний діапазон.
SELECT EmpNum FROM Employee WHERE Salary BETWEEN 20000 AND 30000
Предикат BETWEEN можна застосовувати до стовпців з нечисловими даними:
SELECT EmpNum FROM Employee WHERE Name BETWEEN 'Andersen' AND 'Baker'
Для предиката BETWEEN можна також використовувати заперечення (NOT). Предикат BETWEEN визначається на базовому рівні підпорядкованості й підтримується не всіма драйверами баз даних. У багатьох запитах потрібно знайти всі можливі значення певного поля на деякій множині рядків. Зробити це можна за допомогою ключового слова DISTINCT, що запобігає дублюванню елементів у множині результатів, що повертається запитом. У наступному прикладі повертаються тільки унікальні номери відділів з таблиці Employee:
SELECT DISTINCT Dept FROM Employee
Без використання ключового слова DISTINCT були б вибрані всі рядки з таблиці Employee. За замовчуванням рядки, що повертаються запитом, представляються в довільному порядку. Оператор ORDER BY дозволяє вказати один або кілька стовпців, що використовуються для сортування рядків. Для кожного стовпця можна вказати модифікатор ASC або DESC, що визначає порядок зростання або зменшення при сортуванні рядків по заданому стовпцеві.
SELECT EmpId FROM Employee ORDER BY EmpId ASC SELECT EmpId FROM Employee ORDER BY Salary ASC, EmpId DESC
Операції, що виконуються над сукупністю даних. 5 З'єднання. 6 Зовнішні з'єднання. 6 Вкладені запити. 7 Об'єднані запити. 7 Оператор INSERT. 7 Оператор DELETE. 8 Оператор UPDATE. 8 Найчастіше доводиться обчислювати значення на основі даних із всіх рядків, що повертаються запитом, наприклад, загальну суму значень у деякому стовпці. Такі типи обчислень можна виконати за допомогою наступних функцій, що виконуються над сукупністю даних (aggregate function).
Операції, що виконуються над сукупністю даних, найчастіше використовуються для обчислення кількості рядків, що повертаються деяким запитом. У наступному прикладі повертається число рядків у таблиці Employee:
SELECT COUNT(*) FROM Employee
При використанні функції COUNT(*) обчислюється загальна кількість рядків, оброблених даним запитом. Проте якщо як параметр цієї функції вказати ім'я стовпця, то буде підрахована кількість рядків, що мають у цьому стовпці ненульове значення.
SELECT COUNT(Dept) FROM Employee
У сполученні з такими функціями можна використовувати ключове слово DISTINCT. Наприклад, наступний запит повертає кількість різних номерів відділів:
SELECT COUNT(DISTINCT Dept) FROM Employee
Подібні функції використовуються звичайно для деякої групи рядків результуючої множини. Досягається це шляхом додавання оператора GROUP BY, що вказує стовпець, який використовується для групування рядків, що беруть участь в обчисленнях. У наступному прикладі генерується список номерів відділів, для кожного з яких вказується загальна сума зарплати:
SELECT Dept, SUM(Salary) FROM Employee GROUP BY Dept
Можна обмежити діапазон рядків, що беруть участь в обчисленнях. Для цього використовується оператор HAVING. У наступному прикладі повертається загальна сума заробітної плати тільки для тих відділів, у яких вона не перевищує $200 тис.
SELECT Dept, SUM(Salary) FROM Employee GROUP BY Dept HAVING SUM(Salary) < 200000
Використання різних комбінацій операторів WHERE і HAVING у більш складних запитах може привести до зовсім несподіваних результатів. При роботі з стовпцями, які обчислюються, необхідно пам'ятати, що обробка даних виконується в наступному порядку:
Читайте також:
|
||||||||||||||||||
|