Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по SQL.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
960 Кб
Скачать

Простые варианты поиска данных

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

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

В самом простом варианте оператора SELECT можно указать вместо списка отображаемых столбцов символ *, например:i

SELECT * FROM PERSON

Этот оператор возвращает все столбцы всех строк таблицы PERSON

Листинг 1. Выбор всех столбцов всех строк таблицы людей

PR_CODE

PR_NAME

PR_NAME2

PR_NAME3

PR_BIRTHDAY

1

Зеленина

Надежда

Александровна

11.12.1965

2

Бычкова

Марина

Валентиновна

01.04.1957

3

Мельчакова

Оксана

Владимировна

06.07.1978

4

Бычков

Максим

Владимирович

08.09.1970

5

Попутько

Павел

Павлович

05.05.1959

6

Лебедев

Александр

Анатольевич

03.04.1977

7

Варанкина

Елена

Алевтиновна

01.02.1952

8

Лядов

Олег

Владимирович

07.06.1964

9

Вашкарина

Лариса

Вилльевна

05.11.1980

10

Верхоланцева

Анна

Николаевна

06.10.1991

11

Алексеев

Юлий

Альбертович

19.09.1974

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

SELECT PR_NAME, PR_NAME2, PR_NAME3, PR_BIRTHDAY

FROM PERSON

Мы получим те же записи. Каждая будет содержать фамилию, имя, отчество и дату рождения человека.

Заголовки нам с вами, как проектировщикам таблиц нашей базы данных, понятны. Однако другим людям следует долго объяснять, что это такое. Лучше сразу сформировать заголовки на русском языке. Выполните:iii

SELECT PR_NAME2 AS "Имя",

PR_NAME3 AS "Отчество",

PR_NAME AS "Фамилия",

PR_BIRTHDAY AS "Дата рождения"

FROM PERSON

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

Листинг 2. Добавление осмысленных заголовков

Имя

Отчество

Фамилия

Дата рождения

Надежда

Александровна

Зеленина

11.12.1965

Марина

Валентиновна

Бычкова

01.04.1957

Оксана

Владимировна

Мельчакова

06.07.1978

Максим

Владимирович

Бычков

08.09.1970

Павел

Павлович

Попутько

05.05.1959

Александр

Анатольевич

Лебедев

03.04.1977

Елена

Алевтиновна

Варанкина

01.02.1952

Олег

Владимирович

Лядов

07.06.1964

Лариса

Вилльевна

Вашкарина

05.11.1980

Анна

Николаевна

Верхоланцева

06.10.1991

Юлий

Альбертович

Алексеев

19.09.1974

ЗАМЕЧАНИЕ

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

В списке выбора могут присутствовать не только имена столбцов, но и константы или литералы (строки). Выполните следующий оператор:iv

SELECT PR_NAME2 AS "Имя",

PR_NAME3 AS "Отчество",

'Фамилия:' AS "Текст",

PR_NAME AS "Фамилия",

PR_BIRTHDAY AS "Дата рождения"

FROM PERSON

В результате выполнения запроса один столбец будет во всех строках содержать один и тот же текст — "Фамилия:". Ему мы и присвоили заголовок Текст

Листинг 3. Добавление в результат выбора текстовой строки "Фамилия:"

Имя

Отчество

Текст

Фамилия

Дата рождения

Надежда

Александровна

Фамилия:

Зеленина

11.12.1965

Марина

Валентиновна

Фамилия:

Бычкова

01.04.1957

Оксана

Владимировна

Фамилия:

Мельчакова

06.07.1978

Максим

Владимирович

Фамилия:

Бычков

08.09.1970

Павел

Павлович

Фамилия:

Попутько

05.05.1959

Александр

Анатольевич

Фамилия:

Лебедев

03.04.1977

Елена

Алевтиновна

Фамилия:

Варанкина

01.02.1952

Олег

Владимирович

Фамилия:

Лядов

07.06.1964

Лариса

Вилльевна

Фамилия:

Вашкарина

05.11.1980

Анна

Николаевна

Фамилия:

Верхоланцева

06.10.1991

Юлий

Альбертович

Фамилия:

Алексеев

19.09.1974

Как это будет использоваться, покажем позднее, при исследовании ключевого слова UNION

В вывод может попадать не только столбец но и результат каких либо действий над столбцами, для примера, вместо имени, отчества и фамилии мы можем вывести один столбец содержащий результат объединения имени, отчества и фамилии из таблицы PERSON добавив между ними пробелы (соединение нескольких строк осуществляем при помощи операции конкатенации – ||): v

SELECT PR_NAME2 || ' ' || PR_NAME3 || ' ' || PR_NAME AS "ФИО",

PR_BIRTHDAY AS "Дата рождения"

FROM PERSON

В результате выполнения запроса получим

Листинг 4. Список людей с использованием соединения имени, отчества и фамилии при помощи операции конкатенации

ФИО

Дата рождения

Надежда Александровна Зеленина

11.12.1965

Марина Валентиновна Бычкова

01.04.1957

Оксана Владимировна Мельчакова

06.07.1978

Максим Владимирович Бычков

08.09.1970

Павел Павлович Попутько

05.05.1959

Александр Анатольевич Лебедев

03.04.1977

Елена Алевтиновна Варанкина

01.02.1952

Олег Владимирович Лядов

07.06.1964

Лариса Вилльевна Вашкарина

05.11.1980

Анна Николаевна Верхоланцева

06.10.1991

Юлий Альбертович Алексеев

19.09.1974