Выборка данных (оператор SELECT)




Язык SQL

Итак, в БД forum есть три таблицы:

· users (пользователи);

· topics (темы);

· posts (сообщения).

Необходимо посмотреть, какие данные в них содержатся. Для этого в SQL существует оператор SELECT. Синтаксис его использования следующий:

SELECT что_выбрать FROM откуда_выбрать;

Вместо «что_выбрать» необходимо указать либо имя столбца, значения которого хотим увидеть, либо имена нескольких столбцов через запятую, либо символ звездочки (*), означающий выбор всех столбцов таблицы. Вместо «откуда_выбрать» следует указать имя таблицы.

Сначала посмотрим все столбцы из таблицы users:

SELECT * FROM users;

Это все данные, которые были внесены в таблицу.

Предположим, что необходимо посмотреть только столбец id_user (так как для заполнения таблицы topics (темы) надо знать, какие id_user есть в таблице users). Для этого в запросе укажем имя этого столбца:

SELECT id_user FROM users;

Если необходимо посмотреть, например, имена и e-mail пользователей, то надо перечислить интересующие столбцы через запятую:

SELECT name, email FROM users;

Аналогично, можно посмотреть, какие данные содержат и другие таблицы.

Сначала посмотрим, какие существуют темы:

SELECT * FROM topics;

Сейчас в таблице всего 4 темы, а если их будет 100? Хотелось бы, чтобы они выводились, например, по алфавиту. Для этого в SQL существует ключевое слово ORDER BY, после которого указывается имя столбца, по которому будет происходить сортировка. Синтаксис следующий:

SELECT имя_столбца FROM имя_таблицы ORDER BY имя_столбца_сортировки;

По умолчанию сортировка идет по возрастанию, но это можно изменить, добавив ключевое слово DESC.

Теперь данные отсортированы в порядке по убыванию.

Сортировку можно производить сразу по нескольким столбцам. Например, следующий запрос отсортирует данные по столбцу topic_name, и если в этом столбце будет несколько одинаковых строк, то в столбце id_author будет осуществлена сортировка по убыванию:

Сравните результат с результатом предыдущего запроса.

Очень часто пользователю не нужна вся информация из таблицы. Например, необходимо узнать, какие темы были созданы пользователем sveta (id = 4). Для этого в SQL есть ключевое слово WHERE, синтаксис у такого запроса следующий:

SELECT имя_столбца FROM имя_таблицы WHERE условие;

Для нашего примера условием является идентификатор пользователя, т.е. нужны только те строки, в столбце id_author которых стоит 4 (идентификатор пользователя sveta):

SELECT * FROM topics WHERE id_author=4;

Теперь необходимо узнать, кто создал тему «велосипеды»:

Конечно, было бы удобнее, чтобы вместо id автора, выводилось его имя, но имена хранятся в другой таблице. Далее рассмотрим, как выбирать данные из нескольких таблиц. А пока узнаем, какие условия можно задавать, используя ключевое слово WHERE.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: