Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Глава 14 «Использование операторa UNION»
Теоретические сведения 1. Оператор UNION позволяет объединить несколько запросов в один. Количество и тип столбцов в каждом запросе должно одинаковыми. Только последний запрос заканчивается точкой с запятой. 2. UNION автоматически исключает из выходных данных дублирующие строки и использование DISTINCT не имеет смысла. 3. Операторы SELECT, объединенные UNION, могут содержать константы и выражения. 4. Результаты запросов, объединенных UNION, можно упорядочить. При этом ORDER BY записывается после последнего запроса и в нем указывается номер, а не имя столбца сортировки. Примеры запросов 1. Получение сведений о продавцах и покупателях, проживающих в городе London 2. Составление отчета для каждого продавца о его ежедневном минимальном и максимальном заказах c сортировкой по номеру заказа Вопросы 1. Создайте объединение двух запросов, которые показывают фамилию, город и рейтинг всех покупателей. Те у кого рейтинг больше 200, должны иметь комментарий “High rating”, а все прочие - “Low rating”. 2. Напишите команду, которая выдает в качестве выходных данных значения полей фамилия и номер для каждого продавца и покупателя, имеющего более одного заказа. Результаты вывести в алфавитном порядке.
1. SELECT cname, city, rating, 'High Rating' FROM Customers WHERE rating > = 200 UNION SELECT cname, city, rating, ' Low Ratlng' FROM Customers WHERE rating < 200; ЙМЙ SELECT cname, city, rating, 'High Rating' FROM Customers WHERE rating > = 200 UNION SELECT cname, city, rating, ' Low Rating' FROM Customers WHERE NOT rating > = 200;
2. SELECT cnum, cname FROM Customers a WHERE 1 < (SELECT COUNT (-) FROM Orders b WHERE a.cnum = b.cnum)
UNION
SELECT snum, sname FROM Salespeople a WHERE 1 < (SELECT COUNT (*) FROM Orders b WHERE a.snum = b.snum)
ORDER BY 2;
3. SELECT snum FROM Salespeople WHERE city = 'San Jose'
UNION
(SELECT cnum FROM Customers WHERE city = 'San Jose'
UNION ALL
SELECT onum FROM Orders WHERE odate = 10/03/1990); Дата добавления: 2015-06-30; просмотров: 162; Нарушение авторских прав Мы поможем в написании ваших работ! |