Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Простые примеры с использованием инструкции SELECT


Правила Кодда в действии

До этого момента в данной главе мы рассказывали об отдельных аспектах реляционных баз данных, как они определяются Коддом и реализуются в ANSI SQL. В этом разделе мы дадим высокоуровневое описание самой важной инструкции SQL — SELECT, а также некоторых ее наиболее ярких моментов, а именно реляционных операций, называемых проекциями (projections), выборками (selections) и соединениями (joins).

Проекция

Извлечение указанных столбцов данных.

Выборка

Извлечение указанных строк данных.

Соединение

Извлечение столбцов и строк из двух и более таблиц в один набор данных.

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

Следующая инструкция реализует операцию «проекция», отбирая имя и фамилию автора, а также штат, в котором он проживает, из таблицы authors. Stl.EC. au.fname. au_lname. state FROM authors

Результатом любой такой инструкции SELECT будет являться другая таблица данных.

Получившиеся данные иногда называют результирующим набором (result set), рабочей таблицей (work table) или производной таблицей (derived table), в отличие от базовой таблицы (base table) базы данных, которая является целью инструкции SELECT.

Нужно отметить, что реляционная операция «проекция» (а не «выборка») выполнена с помощью предложения SELECT (т, е., ключевого слова SELECT, за которым шел список извлекаемых значений) инструкции SELECT. Выборка, то есть операция извлечения строк данных, определяется с помощью предложения WHERE инструкции SELECT. Предложение WHERE отфильтровывает ненужные строки данных, возвращая только запрошенные. Используя предыдущий пример, отберем только тех авторов, которые живут не в Калифорнии (СА).

Комбинируя возможности проекции и выборки в одном запросе, с помощью SQL вы можете извлекать только те столбцы и строки, которые вам нужны в данный момент.

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

Разные производители позволяют соединять разное число таблиц в одной операции. Например, Oracle не ограничивает количество соединяемых таблиц, a Microsoft SQL Server позволяет соединять в одной операции не более 256 таблиц.

Стандартный метод ANSI для выполнения соединений — использование в инструкции SELECT предложения JOIN. В более старом методе, называемом тета-соединением (theta-join), анализ соединения производится в предложении WHERE. В приведенном ниже примере показаны оба подхода. В каждой инструкции извлекается информация о служащих из базовой таблицы employee, а также сведения о работах из базовой таблицы jobs. В первой инструкции SELECT используется более новое предложение JOIN стандарта ANSI, а во второй инструкции — тета соединение.

За дополнительной информацией о соединениях обращайтесь к разделу «Предложение JOIN».

Источник