Онлайн-версия книги.
==================== ТАБЛИЦА 1: ПРОДАВЦЫ (SALESPEOPLE) ================
----------------------------------------------
snum | sname | city | comm
--------|-----------|--------------|----------
1001 | Peel | London | .12
1002 | Serres | San Jose | .13
1004 | Motika | London | .11
1007 | Rifkin | Barcelona | .15
1003 | Axelrod | New York | .10
---------------------------------------------
================== ТАБЛИЦА 2: ЗАКАЗЧИКИ (CUSTOMERS) ===============
----------------------------------------------
cnum | cname | city | rating | snum
-------|------------|---------|--------|------
2001 | Hoffman | London | 100 | 1001
2002 | Giovanni | Rome | 200 | 1003
2003 | Liu | SanJose | 200 | 1002
2004 | Grass | Berlin | 300 | 1002
2006 | Clemens | London | 100 | 1001
2008 | Cisneros | SanJose | 300 | 1007
2007 | Pereira | Rome | 100 | 1004
----------------------------------------------
================== ТАБЛИЦА 3: ЗАКАЗЫ (ORDERS) ==================
-----------------------------------------------
onum | amt | odate | cnum | snum
-------|-----------|-------------|------|------
3001 | 18.69 | 10/03/1990 | 2008 | 1007
3003 | 767.19 | 10/03/1990 | 2001 | 1001
3002 | 1900.10 | 10/03/1990 | 2007 | 1004
3005 | 5160.45 | 10/03/1990 | 2003 | 1002
3006 | 1098.16 | 10/03/1990 | 2008 | 1007
3009 | 1713.23 | 10/04/1990 | 2002 | 1003
3007 | 75.75 | 10/04/1990 | 2004 | 1002
3008 | 4723.00 | 10/05/1990 | 2006 | 1001
3010 | 1309.95 | 10/06/1990 | 2004 | 1002
3011 | 9891.88 | 10/06/1990 | 2006 | 1001
-----------------------------------------------
Напишите команду SELECT которая бы вывела номер заказа, сумму, и дату для всех строк из таблицы заказов.
SELECT onum, snum, odate FROM ORDERS;
Напишите запрос который вывел бы все строки из таблицы Заказчиков для которых номер продавца = 1001.
SELECT * FROM customers WHERE snum = 1001;
Напишите запрос который вывел бы таблицу со столбцами в следующем порядке: city, sname, snum, comm.
SELECT city, sname, snum, comm FROM SALESPEOPLE;
Напишите команду SELECT которая вывела бы оценку(rating), сопровождаемую именем каждого заказчика в San Jose.
SELECT rating,cname FROM customers WHERE city = 'San Jose';
Напишите запрос который вывел бы значения snum всех продавцов в текущем порядке из таблицы заказов без каких бы то ни было повторений.
SELECT DISTINCT snum FROM orders;
Напишите запрос который может дать вам все заказы со значениями суммы выше чем $1,000.
SELECT * FROM orders WHERE amt > 1000;
Напишите запрос который может выдать вам поля sname и city для всех продавцов в Лондоне с комиссионными выше .10 .
SELECT sname, city FROM salespeople WHERE city = 'London' AND comm > .10;
Напишите запрос к таблице Заказчиков чей вывод может включить всех заказчиков с оценкой =< 100, если они не находятся в Риме.
SELECT * FROM customers WHERE rating > 100 OR NOT city = 'Rome';
Напишите два запроса которые могли бы вывести все заказы на 3 или 4 Октября 1990
SELECT * FROM orders WHERE odate IN (10/03/1990, 10/04/1990);
Напишите запрос который выберет всех заказчиков обслуживаемых продавцами Peel или Motika. (Подсказка: из наших типовых таблиц, поле snum связывает вторую таблицу с первой).
SELECT * FROM customers WHERE snum IN (1001, 1004);
Напишите запрос, который может вывести всех заказчиков чьи имена начинаются с буквы попадающей в диапазон от A до G.
SELECT * FROM customers WHERE cname BETWEEN 'A' AND 'G';
Напишите запрос который выберет всех заказчиков чьи имена начинаются с буквы C.
SELECT * FROM customers WHERE cname LIKE 'C%';
Напишите запрос который выберет все порядки имеющие ненулевые значения или не NULL в поле amt(сумма).
SELECT * FROM orders WHERE NOT (amt = 0 OR amt IS NULL);
Напишите запрос который сосчитал бы суммарное количество заказов на 3 Октября.
SELECT COUNT (*) FROM orders WHERE odate = 10/03/1990;
Напишите запрос который сосчитал бы число различных не-NULL значений поля city в таблице Заказчиков.
SELECT COUNT(DISTINCT city) FROM customers;
Напишите запрос который выбрал бы наименьшую сумму заказа для каждого заказчика.
SELECT cnum, MIN(amt) FROM customers;
Напишите запрос который бы выбирал заказчиков, чьи имена начинаются с буквы G, в алфавитном порядке.
SELECT * FROM customers WHERE cname LIKE 'G%';
Напишите запрос который выбрал бы высшую оценку в каждом городе.
SELECT city MAX (rating) FROM customers;
Напишите запрос который сосчитал бы число заказчиков регистрирующих каждый день свои заказы. (Если продавец имел более одного заказа в данный день, он должен учитываться только один раз.)
SELECT odate, count (DISTINCT snum) FROM orders GROUP BY odate;