Создание простых запросов на выборку
Создадим несколько простых запросов на выборку данных. Для выполнения запросов (извлечения строк из одной или нескольких таблиц БД) используется оператор SELECT. Результатом запроса всегда является таблица. Результаты запроса могут быть использованы для создания новой таблицы. MS SQL После выполнения следующего запроса, можно извлечь данные из таблицы Клиент, где № Клиента лежит в интервале между 2 и 5: USE [Notarius] GO SELECT * FROM [dbo].[Klient] WHERE [N klienta] BETWEEN '2' and '5' GO Этим запросом узнаем максимальный размер скидки из таблицы Скидка: USE [Notarius] GO SELECT max([Razmer skidki]) as max FROM [dbo].[Skidka] GO ORACLE Выбрать ФИО и Адрес из таблицы Клиент SELECT fio,adres FROM klient Выбрать Максимальный размер скидки из таблицы Скидка SELECT MAX(razmer_skidki) FROM skidka Лабораторная работа №5 Создание сложных запросов на выборку В реальных приложениях часто требуется использовать сразу несколько таблиц БД. Запросы, которые обращаются одновременно к нескольким таблицам, называются многотабличными или сложными запросами. Хорошо спроектированная реляционная БД эффективна из-за связей между таблицами. При выборе информации из нескольких таблиц такие связи называют объединениями. Создадим несколько сложных запросов, используя объединения и вложенные запросы. MS Данным запросом можно узнать Описание услуги из таблицы Услуга и ФИО клиентов из таблицы Клиент. Полученный результат будет упорядочен по ФИО клиентов: USE [Notarius] GO SELECT [Opisanie uslugi], [FIO] FROM [dbo].[Usluga], [dbo].[Klient] WHERE [N uslugi]=[N klienta] ORDER BY [FIO] GO Следующий запрос является вложенным. Он показывает ФИО и Телефон клиентов из таблицы Клиент, где № Клиента приравнивается к № Скидки из таблицы Скидка, и Размер скидка должен быть равен 100: USE [Notarius] GO SELECT [FIO], [Telefon] FROM [dbo].[Klient] WHERE [N klienta] = (Select [N skidki] FROM [dbo].[Skidka] WHERE [Razmer skidki]='100') GO ORACLE Выполним аналогичные запросы в другой базе данных. Выбрать Описание услуги из таблицы Услуга и ФИО клиентов из таблицы Клиент. Полученный результат будет упорядочен по ФИО клиентов: SELECT usluga.opisanie_uslugi,klient.fio FROM usluga, klient WHERE usluga.n_uslugi = klient.n_klienta ORDER BY klient.fio Следующий запрос является вложенным. Он показывает ФИО и Телефон клиентов из таблицы Клиент, где № Клиента приравнивается к № Скидки из таблицы Скидка, и Размер скидка должен быть равен 100: SELECT klient.fio, klient.telefon FROM klient WHERE n_klienta= (SELECT skidka.n_skidki FROM skidka WHERE skidka.razmer_skidki='100')
|