Что мы сейчас сделаем
В прошлом уроке ты нажал кнопку и увидел данные. Теперь начнём управлять тем, что именно показывает база. Это и есть главная команда SQL — SELECT, то есть “выбери”. Мы пройдём четыре маленьких шага, и после каждого ты сам нажмёшь “Запустить” и увидишь, как меняется результат.
Никакой теории про множества и формулы здесь не будет — только практика. Почему всё это работает именно так, мы разберём уже в модуле 2. А сейчас цель простая: научиться доставать ровно те данные, которые тебе нужны.
Шаг 1. Достаём всё: SELECT *
Самый базовый запрос ты уже видел: SELECT * FROM customers;. Разберём его по словам:
SELECT— “выбери”;*— “все столбцы” (звёздочка — это сокращение для “всё”);FROM customers— “из таблицы customers”.
Получается фраза “выбери все столбцы из таблицы клиентов”. Запусти и посмотри, сколько всего клиентов в базе и какие у них столбцы:
Все клиенты, все столбцы:
Посчитай столбцы в шапке — это все свойства, которые база хранит про клиента. SELECT * удобен, чтобы быстро глянуть “а что вообще тут есть”. Но обычно тебе нужны не все столбцы сразу, а только пара нужных. Переходим к шагу 2.
Шаг 2. Выбираем конкретные столбцы
Вместо звёздочки можно перечислить названия столбцов через запятую. Тогда база покажет только их — меньше лишнего, легче читать. Допустим, нас интересуют только имя и страна клиента:
Только имя и страна -- остальные столбцы база не покажет:
Сравни с прошлым результатом: строк столько же (клиенты те же самые), но столбцов теперь ровно два — те, что ты попросил, и в том порядке, в котором перечислил. Попробуй поменять их местами или добавить третий столбец email — просто допиши его через запятую и запусти снова.
Порядок столбцов в результате — это порядок, в котором ты их перечислил в SELECT, а не порядок в таблице. Хочешь сначала страну, потом имя — так и напиши: SELECT country, full_name.
Шаг 3. Ограничиваем число строк: LIMIT
Сейчас клиентов немного, но в настоящих базах их бывают миллионы. Тащить все строки, чтобы просто “глянуть на пару примеров”, незачем. Для этого есть LIMIT — “не больше, чем столько строк”. Допишем LIMIT 3 в конец запроса, и база вернёт максимум три строки:
Только первые 3 клиента:
Получилось ровно три строки. Поменяй число — поставь LIMIT 1 или LIMIT 5 и посмотри, как меняется результат. LIMIT — твой лучший друг, когда хочешь быстро заглянуть в большую таблицу и не ждать миллион строк.
Шаг 4. Фильтруем по условию: WHERE
Самое полезное — доставать не всех подряд, а только тех, кто подходит под условие. За это отвечает WHERE — “где (выполняется условие)”. Например, “покажи только клиентов из России”. Страна России записана в базе как 'RU' (в кавычках, потому что это текст). Условие пишется так: WHERE country = 'RU'.
Только клиенты из России:
В результате остались только строки, где в столбце country стоит RU. База прошла по всем клиентам, проверила у каждого условие и оставила только подходящих. Остальных она не показала — не удалила, а просто не вернула в этот ответ.
Несколько важных мелочей про WHERE:
- текст всегда в одинарных кавычках:
'RU','US'. А числа — без кавычек; - для текста регистр букв важен:
'RU'и'ru'для базы — это разные значения; - знак
=здесь означает “равно”. Есть и другие сравнения, напримерbirth_year > 2000(“год рождения больше 2000”) — но это уже число, поэтому без кавычек.
Попробуй сам: поменяй 'RU' на 'US' и запусти. Потом попробуй числовое условие — например, найди клиентов, родившихся после 2000 года:
Замени условие сам: попробуй country = 'US', а потом birth_year > 2000:
Собираем всё вместе
Теперь у тебя есть четыре кирпичика, и их можно соединять в одном запросе. Порядок слов в SQL фиксированный: сначала SELECT (что показать), потом FROM (откуда), потом WHERE (по какому условию), и в конце LIMIT (сколько максимум). Вот запрос, который использует всё сразу: “покажи имя и год рождения клиентов из России, не больше двух”.
Всё вместе: столбцы + условие + ограничение:
Прочитай этот запрос вслух, как фразу: “выбери имя и год рождения из клиентов, где страна — Россия, не больше двух строк”. Видишь — SQL читается почти как обычное предложение. Это и есть его сила.
Мостик к модулю 2
Поздравляю — ты только что написал настоящие осмысленные запросы. Это уже не игрушки: SELECT, выбор столбцов, WHERE и LIMIT — основа, которой пользуются каждый день.
Дальше, в модуле 2, мы разберём, почему это работает: что такое таблица с точки зрения математики, почему строки не имеют гарантированного порядка и откуда берутся “странности” SQL. Это теоретический фундамент — он сделает тебя сильнее в долгую.
Если в модуле 2 формулы и слова вроде “реляция” или “кортеж” покажутся тяжёлыми — это совершенно нормально. Ты уже умеешь делать запросы, и это главное. К теории всегда можно вернуться позже, когда практики станет больше. Не застревай на ней с первого раза.
Что важно унести из этого урока
SELECT * FROM table— достать все столбцы; перечисление столбцов через запятую — только нужные.- Порядок столбцов в результате задаёшь ты в
SELECT. LIMIT N— вернуть не больше N строк (удобно для больших таблиц).WHERE условие— оставить только строки, подходящие под условие; текст в одинарных кавычках, числа без.- Порядок слов:
SELECT ... FROM ... WHERE ... LIMIT ....