Изучаем SQL. №6. Ключевые слова для запросов БД в SQL — 2

Изучаем SQL
Продолжаем тему с ключевыми словами в запросах SQL. В прошлой статье я остановился на слове LIKE. Сегодня рассмотрим такие слова как: IN,BETWEEN и NOT.
Подключаемся к нашему серверу MySQL, выбираем нашу базу и приступим к работе.

Ключевое слово IN
Например, нам нужно посмотреть всех пользователей возраст которых 22,19,20.

SELECT name, age FROM human WHERE age IN(22,19,20);
+-----------+-----+
| name      | age |
+-----------+-----+
| Сергей    |  22 |
| Оксана    |  20 |
| Света     |  22 |
| Андрей    |  19 |
| Снежана   |  20 |
| Екатерина |  19 |
| Сергей    |  19 |
+-----------+-----+

Ключевое слово BETWEEN
Это ключевое слово SQL позволяет указать диапазон поиска данных. Например нам нужно вывести всех пользователей возраст которых находиться МЕЖДУ 20 и 30. При этом меньшее число в запросе всегда указывается первым.

SELECT name, age FROM human WHERE age BETWEEN 20 AND 30;
+---------+-----+
| name    | age |
+---------+-----+
| Сергей  |  22 |
| Оксана  |  20 |
| Света   |  22 |
| Снежана |  20 |
| Игорь   |  30 |
| Виталий |  26 |
+---------+-----+

Ключевое слово NOT
Используется в в связке с другими ключевыми словами SQL. Означает отрицание запроса. Например нам нужно вывести всех пользователей возраст которых НЕ находиться в диапазоне от 20 до 30:

SELECT id,name, age FROM human WHERE age NOT BETWEEN 20 AND 30;
+----+-----------+-----+
| id | name      | age |
+----+-----------+-----+
|  2 | Паша      |  33 |
|  5 | Андрей    |  19 |
| 10 | Светлана  |  17 |
| 12 | Екатерина |  19 |
| 13 | Сергей    |  19 |
| 14 | Сергей    |  31 |
+----+-----------+-----+

При этом этот же запрос можно записать и так:

SELECT name, age FROM human WHERE NOT age BETWEEN 20 AND 30;

А теперь попробуем вывести всех пользователей, чей возраст не превышает 25 лет.

SELECT name,age FROM human WHERE NOT age > 25;
+-----------+-----+
| name      | age |
+-----------+-----+
| Сергей    |  22 |
| Оксана    |  20 |
| Света     |  22 |
| Андрей    |  19 |
| Снежана   |  20 |
| Светлана  |  17 |
| Екатерина |  19 |
| Сергей    |  19 |
+-----------+-----+

3 идей о “Изучаем SQL. №6. Ключевые слова для запросов БД в SQL — 2

  1. Пингбэк: Изучаем SQL. №7. Сортировка данных SQL. — Slusar.Su

  2. Wolodymyr

    Запрос
    SELECT name, age FROM human WHERE NOT age BETWEEN 20 AND 30;
    отличается от запроса
    SELECT name, age FROM human WHERE age BETWEEN 20 AND 30;

    Отличие состоит в том, что второй выведет всех в диапазоне между 20 и 30 включительно,
    а первый запрос выведет всех, кто не входит в такой диапазон.

  3. Wolodymyr

    прошу прощения, не заметил NOT.
    Конечно же, два запроса будут идентичными:
    SELECT name, age FROM human WHERE NOT age BETWEEN 20 AND 30;
    SELECT name, age FROM human WHERE age NOT BETWEEN 20 AND 30;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.