Материал: Graber_Martin_-_SQL_dlya_prostykh_smertnykh_-_2014

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Работаем на SQL

1.Каковы основные различия между типами данных в SQL?

2.Есть ли в ANSI тип данных DAТЕ?

3.Какой подраздел SQL используется для ввода значений в таблицы?

4.Что такое ключевое слово?

(Ответы даны в приложении А.)

16

Использование SQL для выборки данных из таблиц

Глава 3. Использование SQL для выборки данных из таблиц

Эта глава учит осуществлять поиск информации в таблицах, пропускать или пе­

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

Формирование запроса

SQL символизирует структурированный язык запросов (Structured Query Language). Запросы являются наиболее часто используемым аспектом SQL. Есть кате­ гория пользователей SQL, которые используют язык только для формулировки запро­ сов. Поэтому изучение SQL начинается с обсуждения запроса и того, как он

выполняется в этом языке.

Что такое запрос? Это команда, которая формулируется для СУБД и требует пре­ доставить определенную указанную информацию. Эта информация обычно выводит­ ся непосредственно на экран дисплея компьютера или используемый терминал, хотя в ряде случаев ее можно направить на принтер, сохранить в фай,1е или использовать в

качестве исходных данных для другой команды или процесса.

Как осуществляется связь за11росов?

Запросы являются частью DML. Но так как они совершенно не изменяют инфор­ мации в таблицах, а лишь показывают ее пользователю, предположим, что запросы яв­ ляются самостоятельной категорией и определяют команды DML, воздействующие на содержимое базы данных, а не просто показывающие его.

Все запросы в SQL конструируются на базе одной команды. Структура этой коман­ ды проста, потому что ее можно расширять для того, чтобы выполнить очень сложные вычисления и обработку данных. Эта команда называется SELECT.

Команда SELECT

В простейшей форме команда SELECT дает инструкцию базе данных для поиска информации в таблице. Например, можно получить таблицу Salespeop\e, введя с кла­

виатуры следующее:

SELECT snum, sname, city, comm

FROM Salespeople;

Выходные данные для этого запроса представлены на рис. 3.1.

Команда просто выводит все данные из таблицы. Большинство программ, как по­ казано выше, также выводит заголовки столбцов. Некоторые программы допускают

18

Формирование запроса

р-- -

· -

--

-SOl Exccut1on loq----··-----

. - -

!

SllECT

snum

snamo. c1ty.

comm

 

 

IIROM Salespeople

 

 

,,,

 

 

 

 

."..1001

 

,.,,",,

 

э.1.q,,1

 

 

 

 

 

 

 

 

Peel

London

0. 12

 

 

 

".

Serres

San

Jose

0. 13

 

 

 

1002

 

 

 

 

 

1004

Motika

London

0. 11

 

 

 

1007

Rifkin

Barcelona

0. 15

 

 

 

101!3

Axelrod

New York

"'. 10

 

 

 

 

 

Рис. 3.1. Команда SELECT

тщательное форматирование выходных данных, но это лежит за пределами специфи­ каций стандарта. Далее приводится объяснение каждой части этой команды:

SELECT

snum, sname ".

Ключевое слово, которое сообщает базе данных, что команда

является запросом. Все запросы начинаются с этого ключевого

слова, за которым следует пробел.

Список столбцов таблицы, которые должны быть представлены в результате выполнения запроса. Столбцы, имена которых не

 

представлены в списке, не включаются в состав выходных дан­

 

ных команды. Это, однако, не приводит к удалению из таблиц

 

таких столбцов или содержащейся в них информации, потому

 

что запрос не воздействует на информацию, представленную в

 

таблицах: он только извлекает данные.

FROM

FROM, так же как и SELECT, является ключевым словом, ко­

Salespeople

торое должно быть представлено в каждом запросе. За ним

 

следует пробел, а затем - имя таблицы, которая используется

 

как источник информации для запроса. В приведенном приме­

 

ре это таблица Salespeople.

 

Символ "точка с запятой"(;) используется во всех интерактив­

 

ных командах SQL для сообщения базе данных, что команда

 

сформулирована и готова к выполнению. В некоторых системах

19

Глава 3. Использование SQL для выборки данных из таблиц

этот символ заменен на символ "слэш обратный" ("\") в строке,

которая непосредственно следует за концом команды.

Стоит заметить, что запрос по своей природе не обязательно упорядочивает выход­ ные данные каким-либо определенным образом. Одна и та же команда, выполненная

над одними и теми же данными в различные моменты времени, в результате выдает

данные, упорядоченные по-разному. Обычно строки выдаются в том порядке, в кото­ ром они представлены в таблице, но этот порядок может быть совершенно произволь­ ным. Необязательно, что данные в результате выполнения запроса будут представлены в том порядке, в котором они вводятся или хранятся. Можно упорядо­ чить выходные данные непосредственно с помощью SQL-команд, указав специальное предложение. Позже будет объяснено, как это сделать. Сейчас же просто констатиру­ ем факт отсутствия какого-либо порядка в представлении выходных данных.

Использование клавиши возврата каретки (клавиши Eпter) является произволь­ ным. Можно ввести запрос в одной строке следующим образом:

SELECT snum, sname, city, comm FROM Salespeople;

Поскольку в SQL точка с запятой применяется для того, чтобы пометить конец ко­ манды, большинство SQL-пporpaмм использует клавишу "Возврат каретки" (выпол­ няется нажатием клавиши Return или Enter) как пробел.

Выбор чего-либо простейшим способом

Если необходимо увидеть каждую колонку таблицы, существует упрощенный ва­ риант сделать это. Можно использовать символ "*" ("звездочка"), который заменяет полный список столбцов.

SELECT •

FROM Salespeople;

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

SELECT в общем виде

Обобщая предыдущие рассуждения, следует отметить, что команда SELECT на­ чинается с ключевого слова SELECT, за которым следует пробел. После него сле­ дует список разделенных запятыми имен столбцов, которые необходимо увидеть. Если нужно увидеть все столбцы таблицы, то можно заменить список имен столб­ цов символом (*) (звездочка). За звездочкой следует ключевое слово FROM, за ним - пробел и имя таблицы, к которой направляется запрос. Символ точка с запя­ той(;) нужно использовать для того, чтобы закончить запрос и показать, что коман­

да готова для выполнения.

20

Источник: https://studfile.net/preview/16418473/