МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Приклад 11.Фраза ORDER BY Приклад 10. Фраза HAVING Приклад 9. GROUP BY Параметр <таблиця> можна не використовувати у тих випадках, коли користувач працює з однією таблицею. Параметр <назва поля> – поле, по якому відбувається групування. Йому може передувати ім’я таблиці, якщо вибір виконується більше ніж з однієї таблиці. Підрахувати кількість студентів на кожній із спеціальностей і вивести назву спеціальності і кількість студентів на ній. Для зручності скористаємось реченням GROUP BY. Запит матиме вигляд: SELECT Тут функція Count повертає кількість записів у групі. Результат - табл. 9 Таблиця 9
Фраза HAVING є необов’язковою. Після того, як записи будуть згруповані за допомогою GROUP BY, фраза HAVING відбере ті значення з отриманих записів, що задовольнять умовам вибірки, які вказані у HAVING. Синтаксис: [HAVING <умова>] Параметр <умова> – умова або умови відбору значень із отриманих записів. Видати назви спеціальностей на які поступило більше трьох людей та точну їх кількість. Для цього у GROUP BY застосуємо HAVING. Запит матиме вигляд: SELECT Результат - табл. 10 Таблиця 10
Фраза ORDER BY є необов’язковою. Дана фраза сортує результуючі записи, що отримані після виконання запиту за зростанням або спаданням указаних полів чи поля. Його необхідно вказувати для сортування результату запиту. За замовчуванням задано порядок сортування за зростанням. Синтаксис: [ ORDER BY <назва поля> – поле, за яким відбувається сортування. ASC (DESC) – зареєстровані слова для розташування елементів у зростаючому (спадному) порядку. Вивести на екран всю інформацію про студентів, яка відсортована у спаданні за віком студентів, а потім у зростанні за їх прізвищами. Запит матиме вигляд: SELECT * Результат – табл. 11 Таблиця 11
5.2 Операція JOIN — об’єднання таблиць Для задання об’єднання кількох таблиць у фразі FROM виконують операцію JOIN,яка реалізує операцію з’єднання реляційної алгебри.
Синтаксис: FROM Тут <таблиця1>, <таблиця2> – імена таблиць, записи яких підлягають об’єднанню; <поле1>, <поле2> – імена полів, що об’єднуються; якщо поля не є числовими, то повинні мати однаковий тип даних і містити дані одного виду; поля можуть мати різні імена, <операція> – будь-яка операція порівняння. Якщо в результат вибірки необхідно включити всі рядки з обох таблиць, що задовольняють умові вибірки, використовується операція INNER JOIN. При цьому результуюча таблиця міститиме всі заголовки обох таблиць.
Нехай дано дві таблиці Т1 і Т2: T1
T2
Задамо запит: SELECT * FROM T1 INNER JOIN T2; Результатом такого запиту буде таблиця :
Задамо запит: SELECT * Результатом такого запиту буде таблиця 12, яка містить співпадаючі атрибути у полях F1 таблиці Т1 і F3 таблиці Т2: Таблиця 12
Операція LEFT JOIN використовується для створення лівого зовнішнього об’єднання, при якому всі записи з першої (лівої) таблиці включаються в динамічний набір, навіть якщо в другій (правій) таблиці немає відповідних до них записів. Якщо у лругій таблиці, з якою виконується з’єднання, не має відповідних рядків, то замість значень її полів додається значення Null. Задамо запит: SELECT * Результат – табл.13 Таблиця 13
Операція RIGHT JOIN використовується для створення правого зовнішнього об’єднання, при якому всі записи з другої (правої) таблиці включаються в динамічний набір, навіть якщо в першій (лівій) таблиці немає відповідних до них записів. Якщо у першій таблиці, з якою виконується з’єднання, не має відповідних рядків, то замість значень її полів додається значення Null. Операції JOIN можуть бути вкладеними. Синтаксис: SELECT <поля>
5.3 Вкладені підзапити SQL дозволяє використовувати одні запити всередені інших запитів, тобто вкладати один запит у інший. При цьому верхнього рівня оператор SELECT використовує результат внутрішнього оператора SELECT для визначення отримання кінцевого результату всього запиту. Внутрішні оператори можуть бути розміщені у реченнях WHERE і HAVING і в такому разі отримують назву підзапитів, або вкладених запитів. Крім того, внутрішні оператори SELECT можуть використовуватись в операторах INSERT, UPDATE і DELETE. Існує три типи підзапитів, а саме: ñ скалярний підзапит який повертає значення вибране із перетину одного стовпця і одного запису чи результату виразу; ñ рядковий підзапит який повертає значення декількох стовпців таблиці у вигляді одного рядка; ñ табличний підзапит який повертає значення одного чи більше стовпців таблиці розміщених у більше ніж одному рядку. При побудові підзапитів потрібно дотримуватись наступних правил і обмежень: 1. У підзапитах не повинна використовуватись фраза ORDER BY, хоча вона може бути присутня у зовнішньому запиті. 2. Список у визначенні SELECT підзапиту повинні складатись із імен окремих стовпців або складених із них виразів за виключенням того випадку, коли у підзапиті використовується ключове слово EXIST. Дане слово використовується тільки разом із підзапитом і результатом його дії є логічне значення True чи False. Істина буде в тому випадку коли у результуючій таблиці підзапиту присутній хоча би один рядок. 3. За замовчуванням імена стовпців у підзапиті відносяться до таблиці, ім’я якої вказано у фразі FROM. 4. Якщо підзапит є одним із двох операндів, які беруть участь в операції порівняння, то підзапит повинен бути вказаний у правій частині даної операції. 5. У вкладених підзапитах використовується предикат IN ( Select … From … Where … IN). 6. У підзапитах, які повертають один стовпець числових значень, можуть використовуватись ключові слова ALL і ANY. Якщо підзапиту буде передувати ключове ключове слово ALL, то умова порівняння вважається виконаною тільки в тому випадку, якщо воно виконується для всіх значень у результуючому стовпці підзапиту. Якщо запиту, підзапиту передує ключове слово ANY, то умова порівняння буде вважатись виконаною, якщо вона виконується хоча би для одного із значень у результуючому стовпці підзапиту. Якщо в результаті виконання підзапиту буде отримано порожнє значення, то для слова ALL умова порівняння буде вважатись виконаною, а для ANY ні. Читайте також:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|