1. Оператор Select – базовый оператор языка структурированных запросов

1. Оператор Select – базовый оператор языка структурированных запросов

Центральное место в языке структурированных запросов SQL занимает оператор Select, с помощью которого реализуется самая востребованная операция при работе с базами данных – запросы.

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

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

Итак, рассмотрим базовую структуру оператора Select. Она достаточно проста и включает в себя следующие стандартные обязательные фразы:

Select …

From …

Where … ;

На месте многоточия в каждой строчке должны стоять отношения, атрибуты и условия конкретной базы данных и задания к ней. В самом общем случае базовая структура Select должна выглядеть следующим образом:

Select выбрать такие-то атрибуты

From из таких-то отношений

Where с такими-то условиями выборки кортежей

Таким образом, выбираем мы атрибуты из схемы отношений (заголовки некоторых столбцов), при этом указывая, из каких отношений (а их, как видно, может быть несколько) мы производим нашу выборку и, наконец, на основании каких условий мы останавливаем свой выбор на тех или иных кортежах.

Важно заметить, что ссылки на атрибуты происходят с помощью их имен.

Таким образом, получается следующий алгоритм работы этого базового оператора Select:

1) запоминаются условия выборки кортежей из отношения;

2) проверяется, какие кортежи удовлетворяют указанным свойствам. Такие кортежи запоминаются;

3) на выход выводятся перечисленные в первой строчке базовой структуры оператора Select атрибуты со своими значениями. (Если говорить о табличной форме записи отношения, то выведутся те столбцы таблицы, заголовки которых были перечислены как необходимые атрибуты; разумеется, столбцы выведутся не полностью, в каждом из них останутся только те кортежи, которые удовлетворили названным условиям.)

Рассмотрим пример.

Пусть нам дано следующее отношение r1, как фрагмент некой базы данных книжного магазина:

Пусть также нам дано следующее выражение с оператором Select:

Select Название книги, Автор книги

From r1

Where Цена книги > 200;

Результатом этого оператора будет следующий фрагмент кортежа:

(Мобильник, С. Кинг).

(В дальнейшем мы подвергнем рассмотрению множество примеров реализации запросов с использованием этой базовой структуры и ее применение изучим очень подробно.)

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Использование языка запросов поисковых машин

Из книги автора

Использование языка запросов поисковых машин В строку запроса поисковой машины, помимо ключевых слов, можно вводить так называемые операторы – специальные служебные слова или символы, которые сообщают поисковой системе, каким образом нужно обращаться с теми или иными


Поиск с помощью языка операторов запросов поисковых систем как инструмент раскрутки блога

Из книги автора

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


5.8.4 Оператор select

Из книги автора

5.8.4 Оператор select Оператор select позволяет организовать интерактивное взаимодействие с пользователем. Он имеет следующий формат: select name [in word;] do list; doneВначале из шаблона word формируется список слов, соответствующих шаблону. Этот набор слов выводится в стандартный поток


Извлечение данных. Оператор SELECT

Из книги автора

Извлечение данных. Оператор SELECT Оператор SELECT Оператор SELECT осуществляет выборку из базы данных и имеет наиболее сложную структуру среди всех операторов языка SQL. Практически любой пользователь баз данных в состоянии написать простейший оператор SELECT типаSELECT * FROM


Оператор SELECT

Из книги автора

Оператор SELECT Оператор SELECT осуществляет выборку из базы данных и имеет наиболее сложную структуру среди всех операторов языка SQL. Практически любой пользователь баз данных в состоянии написать простейший оператор SELECT типаSELECT * FROM PC;который осуществляет выборку всех


Традиционные операции над множествами и оператор SELECT

Из книги автора

Традиционные операции над множествами и оператор SELECT Традиционные операции над множествами - это объединение, пересечение, разность и декартово произведение. Декартово произведение Ранее мы уже рассмотрели реализацию декартова произведения, перечисляя через запятую


Правило 52: Если вы написали оператор new с размещением, напишите и соответствующий оператор delete

Из книги автора

Правило 52: Если вы написали оператор new с размещением, напишите и соответствующий оператор delete Операторы new и delete с размещением встречаются в C++ не слишком часто, поэтому в том, что вы с ними не знакомы, нет ничего страшного. Вспомните (правила 16 и 17), что когда вы пишете такое


2. Унарные операции на языке структурированных запросов

Из книги автора

2. Унарные операции на языке структурированных запросов В этом параграфе мы рассмотрим, как реализуются на языке структурированных запросов с помощью оператора Select уже знакомые нам унарные операции выборки, проекции и переименования.Важно заметить, что если раньше мы


3. Бинарные операции на языке структурированных запросов

Из книги автора

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


15.8.2. Оператор размещения new() и оператор delete()

Из книги автора

15.8.2. Оператор размещения new() и оператор delete() Оператор-член new() может быть перегружен при условии, что все объявления имеют разные списки параметров. Первый параметр должен иметь тип size_t:class Screen {public:void *operator new( size_t );void *operator new( size_t, Screen * );// ...};Остальные параметры


Оператор SELECT

Из книги автора

Оператор SELECT Оператор SELECT является для клиентов фундаментальным методом поиска наборов данных в базе данных. Он имеет следующую основную форму:SELECT[FIRST (m)] [SKIP (n)] [[ALL] | DISTINCT]<список-столбцов> [, [имя-столбца] | выражение | константа ]AS имя-алиаса]FROM


Оператор WHEN

Из книги автора

Оператор WHEN Оператор WHEN имеет следующую форму:WHEN <исключение> DO <составной-оператор>Здесь исключение может быть одним из следующих:<имя-исключения> | GDSCODE код | SQLCODE код ANY<составной-оператор> может быть одним оператором или множеством обычных операторов PSQL,


1.4.7 Оператор while

Из книги автора

1.4.7 Оператор while Рассмотрим копирование строки, когда заданы указатель p на ее первый символ и указатель q на целевую строку. По соглашению строка оканчивается символом с целым значением 0.while (p != 0) (* *q = *p; // скопировать символ q = q+1; p = p+1; *) *q = 0; // завершающий символ 0 скопирован


1.4.8 Оператор for

Из книги автора

1.4.8 Оператор for Рассмотрим копирование десяти элементов одного вектора в другой:for (int i=0; i«10; i++) q[i]=p[i];Это эквивалентно int i = 0; while (i«10) (* q[i] = p[i]; i++; *) но более удобочитаемо, поскольку вся информация, управляющая циклом, локализована. При применении операции ++ к целой