Mysql запити для початківців

Продовжуємо вивчати MySQL-запити. Це друга частина серії статей для початківців за запитами MySQL. Тут будуть представлені приклади використання команд, функцій і виразів, таких як IN, NOT IN, AS, COUNT, CONCAT, GROUP BY і HAVING.

WHERE - застосування IN і NOT IN

Використання IN - вибираємо клієнтів з таблиці clients. у яких вік дорівнює 30, 40 або 50 років (наприклад, якщо ви хочете перевірити, у кого з них ювілей):

Використання NOT IN - наприклад вибираємо всіх клієнтів з таблиці clients. НЕ проживають в Росії, Білорусі, Україні:

Можна використовувати ще і вкладені запити - тут показаний приклад, коли потрібно вибрати всіх клієнтів з таблиці clients. які проживають в країнах, що входять в СНД:

Зауважте, що у вкладеному запиті використовується вже інша таблиця бази даних - regions.

Для умов IN і NOT IN повинні використовуватися тільки значення стовпців таблиць (або просто якісь конкретні значення), але ніяк не імена стовпців!

CONCAT - склеювання (конкатенація) значень в один рядок

Функція CONCAT нерідко застосовується в команді SELECT. і з її допомогою можна отримати один рядок з декількох значень, або зі звичайних текстових рядків, або отриманих з значень стовпців, або комбінуючи обидва варіанти. Ось кілька MySQL-запитів для прикладу:

цей запит нам поверне приблизно такі рядки:

цей MySQL-запит поверне нам такий рядок:

Однак при використанні функції CONCAT слід пам'ятати, що якщо в її параметрах потрапить хоча б одне значення NULL. то функція поверне тільки NULL (тобто нічого), причому незалежно від того, яким по порядку був параметр, що дорівнює значенню NULL. Наступний запит поверне значення NULL. а не рядок:

І ще, числові параметри, що передаються функції CONCAT без лапок автоматично перетворюються в рядки:

ці запити повернуть строкові значення «1005009» і «5.99» відповідно.

Використання функції COUNT ()

Функція COUNT () використовується для підрахунку кількості записів в таблиці бази даних. Наприклад, щоб дізнатися кількість всіх рядків з таблиці clients. досить виконати такий запит:

Застосування функції COUNT () спільно з командою групування GROUP BY

У цьому прикладі ми застосуємо угруповання записів по країнам за допомогою команди GROUP BY. щоб отримати з таблиці clients кількість клієнтів в кожній країні:

Результат буде приблизно таким:

Спільно з командою GROUP BY можна застосовувати не тільки функцію COUNT (*). але і інші схожі за призначенням функції. Наприклад наступний SQL-запит підрахує середній вік клієнтів, згрупований по підлозі:

Результат отримаємо приблизно такий:

Використання виразу HAVING разом з GROUP BY

Вираз HAVING використовується для визначення умови, вирішального які рядки будуть виводитися в результат запиту, а які ні. Як приклад, наступний SQL-запит видасть нам кількість клієнтів в кожній країні, але тільки в тих країнах, де кількість клієнтів більше 10:

Майте на увазі, що вираз HAVING повинне бути розташоване тільки після всіх виразів GROUP BY, але ні в якому разі не повинно використовуватися замість WHERE.

Визначення псевдонімів, використовуючи «AS»

Імена стовпців таблиць бази даних можна замінювати власними псевдонімами, використовуючи для цього ключове слово AS і придумане вами власне ім'я. Ось приклад застосування псевдонімів і ключового слова AS:

В результаті запиту ми отримаємо такі заголовки стовпців:

Використання псевдонімів застосовується дуже часто, наприклад, щоб скоротити довжину рядка запиту, замінити в результатах запиту імена стовпців на більш зручні для читання і т.д.

-
На цьому друга частина огляду SQL запитів для новачків завершується. Далі буде.
Інші статті з цієї серії:
Перша частина
Третя частина
Четверта частина

Схожі статті