Справка по SQL

Справка по SQL
Название: Справка по SQL
Автор:
Жанр: Базы данных
Входит в циклы: Нет данных
Страниц: 24
Тип издания: Полный
Описание книги Справка по SQL:
Центром произведения является личность героя, а главными элементами - события и обстоятельства его существования. Нечасто встретишь столь глубоко и проницательно раскрытые трудности человеческих взаимосвязей, стоящих на повестке дня во все века.

Читать Справка по SQL онлайн бесплатно


Справка по SQL

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


Оператор SELECT


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


>SELECT * FROM PC;


который осуществляет выборку всех записей из объекта БД табличного типа с именем PC. При этом столбцы и строки результирующего набора не упорядочены. Чтобы упорядочить поля результирующего набора, их следует перечислить через запятую в нужном порядке после слова SELECT:


>SELECT price, speed, hd, ram, cd, model, code

>FROM Pc;


Ниже приводится результат выполнения этого запроса.


price

speed

hd

ram

cd

model

code

600.0

500

5

64

12x

1232

1

850.0

750

14

128

40x

1121

2

600.0

500

5

64

12x

1233

3

850.0

600

14

128

40x

1121

4

850.0

600

8

128

40x

1121

5

950.0

750

20

128

50x

1233

6

400.0

500

10

32

12x

1232

7

350.0

450

8

64

24x

1232

8

350.0

450

10

32

24x

1232

9

350.0

500

10

32

12x

1260

10

980.0

900

40

128

40x

1233

11


Вертикальную проекцию таблицы РC можно получить, если перечислить только необходимые поля. Например, чтобы получить информацию только о скорости процессора и объеме оперативной памяти компьютеров, следует выполнить запрос:


>SELECT speed, ram FROM PC;


который вернет следующие данные:


speed

ram

500

64

750

128

500

64

600

128

600

128

750

128

500

32

450

64

450

32

500

32

900

128


Устранение дубликатов. Предложение DISTINCT.


Следует отметить, что вертикальная выборка может содержать дубликаты строк в том случае, если она не содержит потенциального ключа, однозначно определяющего запись. В таблице PC потенциальным ключом является поле code, которое выбрано в качестве первичного ключа таблицы. Поскольку это поле отсутствует в запросе, в приведенном выше результирующем наборе имеются дубликаты строк (например, строки 1 и 3). Если требуется получить уникальные строки (скажем, нас интересуют только различные комбинации скорости процессора и объема памяти, а не характеристики всех имеющихся компьютеров), то можно использовать ключевое слово DISTINCT:


>SELECT DISTINCT speed, ram FROM Pc;


что даст такой результат:


speed

ram

450

32

450

64

500

32

500

64

600

128

750

128

900

128


Помимо DISTINCT может применяться также ключевое слово ALL (все строки), которое принимается по умолчанию.

Сортировка результирующего набора. Предложение ORDER BY.

Чтобы упорядочить строки результирующего набора, можно выполнить сортировку по любому количеству полей, указанных в предложении SELECT. Для этого используется предложение ORDER BY , являющееся всегда последним предложением в операторе SELECT. При этом в списке полей могут указываться как имена полей, так и их порядковые позиции в списке предложения SELECT. Так если требуется упорядочить результирующий набор по объему оперативной памяти в порядке убывания, можно записать


>SELECT DISTINCT speed, ram

>FROM Pc

>ORDER BY ram DESC


или


>SELECT DISTINCT speed, ram

>FROM Pc

>ORDER BY 2 DESC


Результат, приведенный ниже, будет одним и тем же.


speed

ram

600

128

750

128

900

128

450

64

500

64

450

32

500

32


Сортировку можно проводить по возрастанию (параметр ASC принимается по умолчанию) или по убыванию (параметр DESC). Сортировка по двум полям


>SELECT DISTINCT speed, ram

>FROM Pc

>ORDER BY ram DESC, speed DESC


даст следующий результат:

speed

ram

900

128

750

128

600

128

500

64

450

64

500

32

450

32


Выборка. Предложение WHERE.

Горизонтальную выборку реализует предложение WHERE , которое записывается после предложения FROM. При этом в результирующий набор попадут только те строки из источника записей, для каждой из которых значение предиката равно TRUE. То есть предикат проверяется для каждой записи. Например, запрос "получить информацию о частоте процессора и объеме оперативной памяти для компьютеров с ценой ниже $500" можно сформулировать следующим образом:


>SELECT DISTINCT speed, ram

>FROM Pc

>WHERE price<500

>ORDER BY 2 DESC


speed

ram

450

64

450

32

500

32


В последнем запросе использовался предикат сравнения с использованием операции сравнения "<" (меньше чем). Кроме этой операции сравнения могут использоваться: "=" (равно), "" (больше), "=" (больше или равно), "<=" (меньше или равно) и "<>" (не равно). Выражения в предикатах сравнения могут содержать любые поля из таблиц, указанных в предложении FROM. Символьные строки и константы типа дата/время


Похожие книги