Лабораторная работа № 15. Многотабличные запросыМноготабличный запрос с описанием связей между таблицами в предложении Составить запрос на выборку наименований книг и их авторов: WHERE. SELECT a.Наим, b.ФИО FROM Книга AS a, Писатель AS b WHERE a.Автор=b.КодП;
Левые и правые внешние соединения. Составить и выполнить следующие запросы: а) выбрать все имеющиеся в базе названия произведений Пушкина и Толстого Л.Н. и вместе с ФИО авторов;
SELECT a.Наим, b.ФИО FROM Книга AS a, Писатель AS b WHERE b.КодП=a.Автор And (b.ФИО='Пушкин' Or b.ФИО='Толстой Л. Н.');
б) Используя таблицы «заказы» и «клиенты», выбрать названия клиентов, их представителей (поле «ОбращатьсяК») и даты размещения их заказов при условии, что клиенты из Лондона; SELECT a.Клиент, b.ОбращатьсяК, c.ДатаРазмещения FROM Заказы INNER JOIN Клиенты ON Заказы.КодКлиента=Клиенты.КодКлиента WHERE ГородПолучателя=Лондон; в) Используя таблицы «заказы» «заказано», «товары» и «клиенты», выбрать названия клиентов, их представителей (поле «ОбращатьсяК») и коды и марки выбранных ими товаров при условии, что названия клиентов начинаются на “F” и заказы оформлял сотрудник Кротов. SELECT a.КодКлиента, b.ОбращатьсяК, c.КодТовара, Марка FROM Товары AS c, Заказы AS a, Заказано AS d, Клиенты AS b, Сотрудники AS f WHERE a.НазваниеПолучателя Like 'F*' And f.Фамилия='Кротов' And a.КодЗаказа=d.КодЗаказа And d.КодТовара=c.КодТовара And a.КодСотрудника=f.КодСотрудника And a.КодКлиента=b.КодКлиента;
Лабораторная работа № 16. Предикат NULL. Подзапросы. Предикаты EXISTS, ANY, ALL Предикат IS NULL. Создать в базе данных таблицу NullPusto, состоящую из двух текстовых полей длиной по 30 символов. Назвать поля «ФИО» и «адр».
CREATE Table NullPusto (ФИО CHAR (30), Адр CHAR (30));
Ввести в таблицу данные из табл. 1. Таблица 1
выбрать все записи с NULL SELECT * FROM NullPusto WHERE Адр="NULL"; выбрать все записи с “” SELECT * FROM NullPusto WHERE Адр=""; выбрать все записи, в которых есть адреса SELECT * FROM NullPusto WHERE NOT Адр='NULL' AND Адр<>''; выбрать все записи, в которых нет адресов SELECT * FROM NullPusto WHERE Адр='NULL' OR Адр='';
подсчитать количество записей, содержащих NULL SELECT COUNT(*) FROM NullPusto WHERE Адр='NULL'; подсчитать количество записей, содержащих NULL и “” SELECT Count(*) FROM NullPusto WHERE Адр='NULL' OR Адр='';
|