Уроки по веб-разработке

MySQL SELECT — выбор столбцов из таблицы

В данном посте для простоты будет использоваться не локальная база данных, а взятая тут. В поле SQL Statement вы можете копировать код из данного поста и сразу смотреть результат.

Что такое SELECT?

SELECT — это оператор языка SQL, который помогает нам определить какие столбцы мы хотим выбрать из базы данных.

Самые простые варианты использования данного оператора вы можете увидеть ниже:

-- Выберет все столбцы
SELECT *
-- Выберет только столбцы title и price
SELECT title, price 

SELECT * FROM

SELECT и FROM — это обязательные элементы любого SQL-запроса. Оператор FROM указывает из какой таблицы мы хотим выбрать данные.

Давайте выберем всех клиентов из таблицы Customers:

SELECT * FROM Customers

В результате выполнения данного запроса мы получим все записи со всеми столбцами из таблицы Customers.

Все записи из таблицы Customers

Если мы хотим, к примеру, получить только CustomerName и Country, мы можем указать это в операторе SELECT

SELECT CustomerName, Country FROM Customers

В таком случае в результате мы получим только два указанных столбца из БД:

CustomerName, Country

Для удобства все операторы SQL пишутся большими буквами. Основной синтаксис разобрали, теперь давайте рассмотрим некоторые примеры.

Примеры

Как видно из примеров выше, чтобы выбрать все записи после оператора SELECT мы ставим *. Для того, чтобы выбрать только нужные поля мы можем указывать имена этих полей.

Также мы можем задавать элиас (alias — псевдоним) для названий.

SELECT 
    CustomerName AS firstName, 
    Country AS country
FROM Customers c

В этом примере мы задаем псевдонимы для колонок (CustomerName => firstName, Country => country) и для самой таблицы (Customers => c). После запуска данного запроса, мы получим такой результат:

Меняем псевдоним (alias)

Задание псевдонимов может быть удобным при выполнении более сложных запросов. Как пример, если нам нужно выбрать данные из 2 таблиц и более.

Другой пример. Выберем всех клиентов из Франции:

SELECT 
    CustomerName AS firstName, 
    Country AS country
FROM Customers
WHERE Country = "France"

Мы выбираем поля CustomerName и Country, но при этом задаем условие, что Country для всех записей должна равняться France. Результатом выполнения этого запроса будет:

SELECT … FROM … WHERE

Третий пример. Выберем записи только с уникальными значениями. Допустим, нам нужен список стран наших пользователей, если мы выберем все страны, то они будут повторяться:

SELECT Country FROM Customers

Чтобы получить только уникальные страны, мы можем добавить ключевое слово DISTINCT:

SELECT DISTINCT Country
FROM Customers

В таком случае мы получим уникальные значения из столбца Country

SELECT DISTINCT