select выборка данных

Автор: Андрей

01 Apr 2020

http://www.mysql.ru/docs/man/SELECT.html


Структура оператора SELECT:

SELECT select_expression,...
    [FROM table_references
      [WHERE where_definition]
      [GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
      [HAVING where_definition]
      [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
      [LIMIT [offset,] rows]


Выборка определенных строк
mysql> SELECT * FROM pet WHERE name = "Bowser";
mysql> SELECT * FROM pet WHERE birth >= "1998-1-1";

Условия можно и комбинировать, например для того, чтобы выделить всех собак женского пола:
mysql> SELECT * FROM pet WHERE species = "dog" AND sex = "f";

В предыдущем запросе использован оператор AND. Существует еще и оператор OR:
mysql> SELECT * FROM pet WHERE species = "snake" OR species = "bird";

Операторы AND и OR можно использовать совместно. В таком случае с помощью скобок можно указать порядок группировки условий:

mysql> SELECT * FROM pet WHERE (species = "cat" AND sex = "m")
-> OR (species = "dog" AND sex = "f");

Выборка определенных столбцов
mysql> SELECT name, birth FROM pet;

выводиться только уникальные записи:

mysql> SELECT DISTINCT owner FROM pet;

чтобы загрузить даты рождения только кошек и собак, можно воспользоваться следующим запросом:

mysql> SELECT name, species, birth FROM pet
-> WHERE species = "dog" OR species = "cat";

Сортировка строк
mysql> SELECT name, birth FROM pet ORDER BY birth;

Провести сортировку с учетом регистра символов можно при помощи команды BINARY: ORDER BY BINARY(поле).
mysql> SELECT name, birth FROM pet ORDER BY birth DESC;
mysql> SELECT name, species, birth FROM pet ORDER BY species, birth DESC;