русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Построение простейших запросов для выбора информации из одной таблицы


Дата добавления: 2015-07-09; просмотров: 552; Нарушение авторских прав


Выбор информации из одной или нескольких таблиц осуществляется при помощи оператора SELECT, упрощенный синтаксис которого имеет следующий вид:

SELECT [DISTINCT] {* | {[имя_таблицы.] имя_столбца | выражение }

[псевдоним] [,{[имя_таблицы.] имя_столбца | выражение} [псевдо-ним]]...}

FROM {имя_таблицы | имя_представления | подзапрос} [псевдоним]

[,{имя_таблицы | имя_представления | подзапрос} [псевдоним]…]

[WHERE условие]

[GROUP BY выражение1 [, выражение2... ] [HAVING условие] ]

[{UNION | UNION ALL | INTERSECT | MINUS} SELECT оператор ]

[ORDER BY выражение1 [ASC | DESC]

[, выражение2 [ASC | DESC]] ...];

Вся извлеченная информация выводится в окно интерактивного ре-дактора SQL*PLUS.

Построение списка выбора.В операторе SELECT при формирова-нии списка выбора, состоящего из имен столбцов и выражений, для по-строения выражений могут использоваться имена столбцов таблиц и представлений, литералы, функции, соединяемые знаками арифметиче-ских действий. Если необходимо указать имена столбцов, которые имеют одинаковые идентификаторы в двух разных таблицах, то к этим именам через точку необходимо приписать имя таблицы. При необходимости сложному выражению можно присвоить псевдоним, который будет ис-пользован в дальнейшем тексте оператора. Все имена таблиц, имена столбцов которых использовались для построения выражений в списке выбора, обязательно должны быть перечислены в тексте оператора после ключевого слова FROM.

Упорядочение строк.Строки, возвращаемые SELECT-запросом, мо-гут быть упорядочены по возрастанию или убыванию значений опреде-ленных выражений. В качестве выражения может использоваться имя столбца. Для реализации этой процедуры используется конструкция ORDER BY, в которой указывается перечень, состоящий из одного или нескольких выражений, разделенных запятыми, по значениям которых и осуществляется упорядочение. По умолчанию извлекаемые строки упо-рядочиваются по возрастанию значений указанных в перечне выраже-ний. Для задания другого варианта упорядочения строк после каждого выражения или группы выражений в перечне указывается либо ASC (по возрастанию) либо DESC (по убыванию значений), а перечисление этих групп осуществляется через запятую.



Условие выбора строк.В конструкции WHERE при построении ус-ловия, которому должны удовлетворять выбираемые строки, можно ис-пользовать весь имеющийся в языке SQL набор операций сравнения и логических операций. Для задания конкретного значения в условии мож-но воспользоваться переменной подстановки, которая позволяет ввести необходимое значение в момент выполнения запроса. Переменная под-становки определяется наличием символа & в начале ее имени.

Подзапросыили вложенные запросы применяются для возврата группы строк или множества значений, которые будут использованы ро-дительским запросом. В зависимости от формы построения он может выполняться либо один раз для родительского запроса, либо один раз для каждой строки, извлеченной родительским запросом. В последнем слу-чае такой подзапрос называется коррелированным подзапросом. Харак-терным признаком коррелированного подзапроса является наличие в его фразе WHERE ссылок на столбцы родительского запроса.

Объединение строк.В многокомпонентном запросе можно опреде-ленным образом объединить в единое целое группы строк, извлекаемые отдельно выполняемыми запросами. Для задания порядка объединения используется одно из ключевых слов конструкции UNION | UNION ALL | INTERSECT | MINUS.

Демонстрационные примеры

1.Выбрать из таблицы KNIGA всю информацию о книгах:

SELECT * FROM KNIGA;

2.Выбрать из таблицы KNIGA информацию о первых пяти книгах:

SELECT * FROM KNIGA WHERE ROWNUM < 6;

3.Выбрать из таблицы KNIGA информацию о книгах с указанием фамилии автора, названия и цены и упорядочить ее по возрастанию зна-чений столбцов АВТОР, НАЗВАНИЕ и убыванию значений столбца ЦЕНА; фамилии авторов и названия вывести заглавными буквами:

SELECT UPPER(АВТОР), UPPER(НАЗВАНИЕ), ЦЕНА FROM KNIGA ORDER BY АВТОР, НАЗВАНИЕ ASC, ЦЕНА DESC;

4.Выбрать из таблицы KNIGA информацию (фамилия автора, назва-ние) о книгах в жанре «Роман»;

SELECT АВТОР, НАЗВАНИЕ FROM KNIGA WHERE ЖАНР = 'Роман';

5.Выбрать из таблицы KNIGA информацию (фамилия автора, назва-ние, жанр) о книгах в жанре не «Роман»;

а) SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA WHERE ЖАНР != 'Роман';

б) SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA WHERE ЖАНР <> 'Роман';

в) SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA

MINUS

SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA

WHERE ЖАНР = 'Роман';

6.Выбрать из таблицы KNIGA информацию (фамилия автора, назва-ние, цена) о книгах стоимостью больше 260 и меньше 1000;

SELECT АВТОР, НАЗВАНИЕ, ЦЕНА FROM KNIGA WHERE ЦЕНА BETWEEN 260 AND 1000;

7.Выбрать из таблицы KNIGA информацию (фамилия автора, назва-ние, жанр) о книгах в жанрах «Роман» и «Детектив»:

а) SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA

WHERE ЖАНР = 'Роман' OR ЖАНР = 'Детектив';

б) SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA

WHERE ЖАНР IN ('Роман', 'Детектив');

в) SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA

WHERE ЖАНР = 'Роман'

UNION

SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA

WHERE ЖАНР = 'Детектив';

8.Выбрать из таблицы KNIGA информацию (фамилия автора, назва-ние, жанр) о книгах жанра «Роман», «Детектив» издательства «Аст»:

а) SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA WHERE (ЖАНР = 'Роман' OR ЖАНР = 'Детектив') AND ИЗДАТЕЛЬСТВО = 'Аст';

б) SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA WHERE ЖАНР IN ('Роман', 'Детектив') AND ИЗДАТЕЛЬСТВО = 'Аст';

9.Выбрать из таблицы KNIGA информацию (фамилия автора, назва-ние) о книгах, название которых начинается со слова «Гибель»:

а) SELECT АВТОР, НАЗВАНИЕ FROM KNIGA WHERE НАЗВАНИЕ LIKE 'Гибель%';

б) SELECT АВТОР, НАЗВАНИЕ FROM KNIGA WHERE SUBSTR(НАЗВАНИЕ, 1, 6) = 'Гибель';

10.Выбрать из таблицы KNIGA информацию (фамилия автора, на-звание, жанр) о книгах, относящихся к указанному жанру. Необходимое значение задать, используя переменную подстановки:

SELECT АВТОР, НАЗВАНИЕ, ЖАНР FROM KNIGA

WHERE ЖАНР = '&GANR' ORDER BY АВТОР;

В ответ на запрос, выдаваемый системой, набрать одно из значений столбца ЖАНР (Роман, Фантастика, Детектив).

11.Выбрать из таблицы KNIGA информацию о книгах, имеющихся в других издательствах, того же жанра, что и в издательстве «Аст»:

а) SELECT * FROM KNIGA WHERE ЖАНР IN

(SELECT DISTINCT ЖАНР FROM KNIGA WHERE

ИЗДАТЕЛЬСТВО= 'Аст') AND ИЗДАТЕЛЬСТВО <> 'Аст';

б) SELECT * FROM KNIGA WHERE ЖАНР = ANY

SELECT DISTINCT ЖАНР FROM KNIGA WHERE

ИЗДАТЕЛЬСТВО = 'Аст') AND ИЗДАТЕЛЬСТВО <> 'Аст';

12.Выбрать из таблицы KNIGA список фамилий авторов, чьи книги имеются в каждом из издательств:

SELECT АВТОР FROM KNIGA WHERE ИЗДАТЕЛЬСТВО = 'Аст'

INTERSECT

SELECT АВТОР FROM KNIGA WHERE ИЗДАТЕЛЬСТВО = 'Нова';



<== предыдущая лекция | следующая лекция ==>
И изменение структуры таблицы, удаление таблиц | Группирование строк


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.141 сек.