Исключение повторяющихся значений

СТРУКТУРА КОМАНДЫ SELECT

Лекция 2. Создание запросов на выборку с помощью SQL

Команды языка манипулирования данных используются для отбора записей в таблицах, модификации, добавления или удаления записей. Для выполнения этих задач используется ряд различных команд, однако, большинство из них представляет часть общей структуры запроса на выборку.

SELECT (запрос на выборку) предназначен для получения записей из БД в виде набора записей.

Для выбора информации из таблиц используется команда SELECT следующего формата:

SELECT [ALL|DISTINCT| DISTINCTROW |

[TOP n [PERCENT]] <список_полей> | *

[FROM {<имя_таблицы>},... ]

[WHERE <условие> ]

[ORDER BY {<имя_поля> [ASC] | DESC},...]

[GROUP BY {<имя_поля>},... ]

[HAVING <условие> ]

Каждый из компонентов будет обсуждаться ниже.

Команда SELECT позволяет выводить все поля (*) или не­которые по указанному списку из (FROM) одной или нес­кольких таблиц по некоторому условию (WHERE).

Самый простой возможный запрос SELECT.

SELECT * FROM <имя_таблицы>

Например, следующий запрос SELECT вернёт все столбцы всех записей из таблицы Авторы: SELECT * FROM Авторы

Звёздочка указывает, что необходимо отобрать все столбцы указанных таблиц.

Инструкция SELECT всегда содержит предложение FROM, указывающее таблицу или таблицы, из которых отбираются столбцы.

Предложение WHERE определяет, какие записи из таблиц, перечисленных в предложении FROM, должны быть включены в результат инструкции SELECT. В предложении WHERE могут использовать различные операторы.

Задача 1. Вывести на экран список книг, количество которых на складе более 100 штук.

Решение: SELECT * FROM Книги

WHERE Количество>100;

Задача 2. Найти издательства города Москвы.

Решение: SELECT *FROM Издательства

WHERE Адрес Like "*Москва*";

Задача 3. Найти издательства, у которых указан телефон.

Решение: SELECT *FROM Издательства

WHERE Телефон Is Not Null;

Задача 4. Найти книги, код которых находится в интервале 3 – 9 и стоимость менее 250 руб.

Решение: SELECT *FROM Книги

WHERE ([Код книги] Between 3 And 8) And (Стоимость<250);

Часто бывают ситуации, когда названии полей исходных таблиц в выборке необходимо вывести иначе. В этом случае нужно использовать ключевое слово AS и задать соответствующий псевдоним.

Задача 5. Вывести на экран список книг и их цен, изданных в 2005 году.

Решение: SELECT Название, Стоимость AS Цена, [Год издания]FROM Книги WHERE [Год издания]='2005';

Для устранения повторяющихся значений в выборке используется предикат DISTINCT. Он исключает дублирующиеся значения из результата выполнения предложения SELECT. Каждая возвращённая строка будет уникальной. Если в результат выборки включаются два столбца, уникальность будет определяться по значениям обоих этих столбцов. В отдельности значения в первом и втором столбцах могут повторяться, но комбинация значений в обоих столбцах должна быть уникальна. Аналогичные правила действуют и в отношении большего количества столбцов.

Задача 6. Вывести наименования всех книг.

Решение: SELECT DISTINCT Название FROM Книги;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: