СибГУТИ Напишите запрос, который выводит все строки скачать бесплатно
Напишите запрос, который выводит все строки из таблицы Покупателей, для которых номер продавца равен 1001.
SELECT
cust.cnum,
cust.cname,
cust.city,
cust.rating,
cust.snum
FROM
cust
WHERE
cust.snum = 1001
Напишите запрос, который выводит таблицу Продавцов со столбцами в следующем порядке: city, sname, snum, comm.
SELECT
sal.city,
sal.sname,
sal.snum,
sal.comm
FROM
sal
Напишите запрос, который выводит оценку (rating), сопровождаемую именем каждого покупателя в городе San Jose.
SELECT
cust.rating,
cust.cname
FROM
cust
WHERE
cust.city = 'San Jose'
Напишите запрос, который выводит значение номера продавца всех продавцов из таблицы Заказов без каких бы то ни было повторений.
SELECT DISTINCT
` ord`.onum
FROM
` ord`
Напишите запрос, который может выдать вам поля sname и city для всех продавцов в Лондоне с комиссионными строго больше 0.11
SELECT DISTINCT
sal.sname,
sal.comm
FROM
sal
WHERE
sal.city = 'London' AND
sal.comm > 0.11
Напишите запрос к таблице Покупателей, который может вывести данные обо всех покупателях с рейтингом меньше или равным 200, если они не находятся в Риме
SELECT DISTINCT
cust.cnum,
cust.cname,
cust.city,
cust.rating,
cust.snum
FROM
cust
WHERE
cust.rating <= 200 AND
cust.city <> 'Rome'
Запросите двумя способами все заказы на 3 и 5 октября 1990 г
SELECT DISTINCT
` ord`.onum,
` ord`.amt,
` ord`.odate,
` ord`.cnum,
` ord`.snum
FROM
` ord`
WHERE
` ord`.odate = '1990-10-03' OR ` ord`.odate = '1990-10-05'
SELECT DISTINCT
` ord`.onum,
` ord`.amt,
` ord`.odate,
` ord`.cnum,
` ord`.snum
FROM
` ord`
WHERE
` ord`.odate IN ('1990-10-03','1990-10-05')
Напишите запрос, который может вывести всех покупателей, чьи имена начинаются с буквы, попадающей в диапазон от A до G.
SELECT
cust.cname,
cust.cnum,
cust.city,
cust.rating,
cust.snum
FROM
cust
WHERE cust.cname REGEXP '^[A-G]'
Напишите запрос, который выберет всех продавцов, имена которых содержат букву e.
SELECT
sal.snum,
sal.sname,
sal.city,
sal.comm
FROM
sal
WHERE
sal.sname LIKE '%e%'
Напишите запрос, который сосчитал бы сумму всех заказов на 3 октября 1990 г.
SELECT
Sum(` ord`.amt) AS Summa
FROM
` ord`
WHERE
` ord`.odate = '1990-10-03'
Напишите запрос, который сосчитал бы сумму всех заказов для продавца с номером 1001
SELECT
Sum(ord.amt) AS Summa
FROM
ord
INNER JOIN sal ON sal.snum = ord.snum
WHERE
sal.snum = 1001
Напишите запрос, который выбрал бы наибольший заказ для каждого продавца.
SELECT
sal.sname,
Max(ord.amt) AS Max_ord
FROM
ord
INNER JOIN sal ON sal.snum = ord.snum
GROUP BY
sal.sname
Напишите запрос, который выбрал бы покупателя, чье имя является первым в алфавитном порядке среди имен, заканчивающихся на букву s.
SELECT
cust.cname
FROM
cust
WHERE
cust.cname LIKE '%s'
ORDER BY
cust.cname ASC
LIMIT 1
Напишите запрос, который выбрал бы средние комиссионные в каждом городе.
SELECT
sal.city,
Avg(sal.comm)
FROM
sal
GROUP BY
sal.city
Напишите запрос, который вывел бы для каждого заказа на 3 октября его номер, стоимость заказа в евро (1$=0.8 евро), имя продавца и размер комиссионных, полученных продавцом за этот заказ.
SELECT
ord.onum,
ord.odate,
ord.amt*0.8 as euro,
sal.sname,
sal.comm
FROM
ord
INNER JOIN sal ON ord.snum = sal.snum
Напишите запрос, который выводит номера заказов в возрастающем порядке, а также имена продавцов и покупателей заказов, продавец которых находится в Лондоне или Риме.
SELECT
ord.onum,
sal.sname,
cust.cname
FROM
ord
INNER JOIN sal ON ord.snum = sal.snum
INNER JOIN cust ON ord.cnum = cust.cnum
WHERE
sal.city IN ('London', 'Rome')
ORDER BY
ord.onum ASC
Запросите имена продавцов в алфавитном порядке, суммарные значения их заказов, совершенных до 5 октября, и полученные комиссионные.
SELECT
sal.sname,
Sum(ord.amt) AS Summa,
Sum(sal.comm) AS Comm_summa
FROM
sal
INNER JOIN ord ON sal.snum = ord.snum
WHERE
ord.odate < '1990-10-05'
GROUP BY
sal.sname
Выведите номера заказов, их стоимость и имена продавцов и покупателей, если продавцы и покупатели находятся в городах, чьи названия начинаются с букв из диапазона от L до R.
SELECT
ord.onum,
ord.amt,
sal.sname,
cust.cname
FROM
ord
INNER JOIN sal ON ord.snum = sal.snum
INNER JOIN cust ON ord.cnum = cust.cnum
WHERE
LEFT(sal.city, 1) BETWEEN 'L' AND 'R' AND
LEFT(cust.city, 1) BETWEEN 'L' AND 'R'
С помощью подзапроса выведите имена всех покупателей, чьи продавцы имеют комиссионные меньше 0.13.
SELECT
cust.cname
FROM
cust
INNER JOIN ord ON cust.cnum = ord.cnum
WHERE ord.snum IN (SELECT sal.snum FROM sal WHERE sal.comm<0.13)
Напишите команду, создающую копию таблицы Продавцов с одновременным копированием данных из SAMPLE.SAL. Убедитесь в сходности структур таблиц при помощи команды DESC и идентичности данных в таблице-оригинале и таблице-копии.
CREATE TABLE `sal_copy` LIKE `sal`;
INSERT INTO `sal_copy` SELECT * FROM `SAMPLE.SAL`;
SELECT
sal_copy.snum,
sal_copy.sname,
sal_copy.city,
sal_copy.comm
FROM
sal_copy
ORDER BY
sal_copy.snum DESC
SELECT
sal.snum,
sal.sname,
sal.city,
sal.comm
FROM
sal
ORDER BY
sal.snum DESC
Напишите последовательность команд, которая вставляет две новые записи в вашу таблицу Продавцов, выводит таблицу после вставки, удаляет одну запись о новом продавце и вновь выводит таблицу.
INSERT INTO sal VALUES(1008, 'Petters', 'Los Angeles',0.14);
INSERT INTO sal VALUES(1009, 'Black', 'Santa Barbara',0.17);
SELECT * FROM sal;
DELETE FROM sal WHERE snum = 1008;
SELECT * FROM sal;
Напишите последовательность команд, которая вставляет две строки в вашу таблицу Продавцов,
увеличивает в 2 раза комиссионные у всех продавцов и выводит содержимое таблицы после каждого изменения.
INSERT INTO sal VALUES(1010, 'Wizard', 'Los Angeles',0.11);
SELECT * FROM sal;
INSERT INTO sal VALUES(1011, 'Bell', 'Boston',0.1);
SELECT * FROM sal;
UPDATE sal SET sal.comm=sal.comm*2;
SELECT * FROM sal;
SELECT
cust.cnum,
cust.cname,
cust.city,
cust.rating,
cust.snum
FROM
cust
WHERE
cust.snum = 1001
Напишите запрос, который выводит таблицу Продавцов со столбцами в следующем порядке: city, sname, snum, comm.
SELECT
sal.city,
sal.sname,
sal.snum,
sal.comm
FROM
sal
Напишите запрос, который выводит оценку (rating), сопровождаемую именем каждого покупателя в городе San Jose.
SELECT
cust.rating,
cust.cname
FROM
cust
WHERE
cust.city = 'San Jose'
Напишите запрос, который выводит значение номера продавца всех продавцов из таблицы Заказов без каких бы то ни было повторений.
SELECT DISTINCT
` ord`.onum
FROM
` ord`
Напишите запрос, который может выдать вам поля sname и city для всех продавцов в Лондоне с комиссионными строго больше 0.11
SELECT DISTINCT
sal.sname,
sal.comm
FROM
sal
WHERE
sal.city = 'London' AND
sal.comm > 0.11
Напишите запрос к таблице Покупателей, который может вывести данные обо всех покупателях с рейтингом меньше или равным 200, если они не находятся в Риме
SELECT DISTINCT
cust.cnum,
cust.cname,
cust.city,
cust.rating,
cust.snum
FROM
cust
WHERE
cust.rating <= 200 AND
cust.city <> 'Rome'
Запросите двумя способами все заказы на 3 и 5 октября 1990 г
SELECT DISTINCT
` ord`.onum,
` ord`.amt,
` ord`.odate,
` ord`.cnum,
` ord`.snum
FROM
` ord`
WHERE
` ord`.odate = '1990-10-03' OR ` ord`.odate = '1990-10-05'
SELECT DISTINCT
` ord`.onum,
` ord`.amt,
` ord`.odate,
` ord`.cnum,
` ord`.snum
FROM
` ord`
WHERE
` ord`.odate IN ('1990-10-03','1990-10-05')
Напишите запрос, который может вывести всех покупателей, чьи имена начинаются с буквы, попадающей в диапазон от A до G.
SELECT
cust.cname,
cust.cnum,
cust.city,
cust.rating,
cust.snum
FROM
cust
WHERE cust.cname REGEXP '^[A-G]'
Напишите запрос, который выберет всех продавцов, имена которых содержат букву e.
SELECT
sal.snum,
sal.sname,
sal.city,
sal.comm
FROM
sal
WHERE
sal.sname LIKE '%e%'
Напишите запрос, который сосчитал бы сумму всех заказов на 3 октября 1990 г.
SELECT
Sum(` ord`.amt) AS Summa
FROM
` ord`
WHERE
` ord`.odate = '1990-10-03'
Напишите запрос, который сосчитал бы сумму всех заказов для продавца с номером 1001
SELECT
Sum(ord.amt) AS Summa
FROM
ord
INNER JOIN sal ON sal.snum = ord.snum
WHERE
sal.snum = 1001
Напишите запрос, который выбрал бы наибольший заказ для каждого продавца.
SELECT
sal.sname,
Max(ord.amt) AS Max_ord
FROM
ord
INNER JOIN sal ON sal.snum = ord.snum
GROUP BY
sal.sname
Напишите запрос, который выбрал бы покупателя, чье имя является первым в алфавитном порядке среди имен, заканчивающихся на букву s.
SELECT
cust.cname
FROM
cust
WHERE
cust.cname LIKE '%s'
ORDER BY
cust.cname ASC
LIMIT 1
Напишите запрос, который выбрал бы средние комиссионные в каждом городе.
SELECT
sal.city,
Avg(sal.comm)
FROM
sal
GROUP BY
sal.city
Напишите запрос, который вывел бы для каждого заказа на 3 октября его номер, стоимость заказа в евро (1$=0.8 евро), имя продавца и размер комиссионных, полученных продавцом за этот заказ.
SELECT
ord.onum,
ord.odate,
ord.amt*0.8 as euro,
sal.sname,
sal.comm
FROM
ord
INNER JOIN sal ON ord.snum = sal.snum
Напишите запрос, который выводит номера заказов в возрастающем порядке, а также имена продавцов и покупателей заказов, продавец которых находится в Лондоне или Риме.
SELECT
ord.onum,
sal.sname,
cust.cname
FROM
ord
INNER JOIN sal ON ord.snum = sal.snum
INNER JOIN cust ON ord.cnum = cust.cnum
WHERE
sal.city IN ('London', 'Rome')
ORDER BY
ord.onum ASC
Запросите имена продавцов в алфавитном порядке, суммарные значения их заказов, совершенных до 5 октября, и полученные комиссионные.
SELECT
sal.sname,
Sum(ord.amt) AS Summa,
Sum(sal.comm) AS Comm_summa
FROM
sal
INNER JOIN ord ON sal.snum = ord.snum
WHERE
ord.odate < '1990-10-05'
GROUP BY
sal.sname
Выведите номера заказов, их стоимость и имена продавцов и покупателей, если продавцы и покупатели находятся в городах, чьи названия начинаются с букв из диапазона от L до R.
SELECT
ord.onum,
ord.amt,
sal.sname,
cust.cname
FROM
ord
INNER JOIN sal ON ord.snum = sal.snum
INNER JOIN cust ON ord.cnum = cust.cnum
WHERE
LEFT(sal.city, 1) BETWEEN 'L' AND 'R' AND
LEFT(cust.city, 1) BETWEEN 'L' AND 'R'
С помощью подзапроса выведите имена всех покупателей, чьи продавцы имеют комиссионные меньше 0.13.
SELECT
cust.cname
FROM
cust
INNER JOIN ord ON cust.cnum = ord.cnum
WHERE ord.snum IN (SELECT sal.snum FROM sal WHERE sal.comm<0.13)
Напишите команду, создающую копию таблицы Продавцов с одновременным копированием данных из SAMPLE.SAL. Убедитесь в сходности структур таблиц при помощи команды DESC и идентичности данных в таблице-оригинале и таблице-копии.
CREATE TABLE `sal_copy` LIKE `sal`;
INSERT INTO `sal_copy` SELECT * FROM `SAMPLE.SAL`;
SELECT
sal_copy.snum,
sal_copy.sname,
sal_copy.city,
sal_copy.comm
FROM
sal_copy
ORDER BY
sal_copy.snum DESC
SELECT
sal.snum,
sal.sname,
sal.city,
sal.comm
FROM
sal
ORDER BY
sal.snum DESC
Напишите последовательность команд, которая вставляет две новые записи в вашу таблицу Продавцов, выводит таблицу после вставки, удаляет одну запись о новом продавце и вновь выводит таблицу.
INSERT INTO sal VALUES(1008, 'Petters', 'Los Angeles',0.14);
INSERT INTO sal VALUES(1009, 'Black', 'Santa Barbara',0.17);
SELECT * FROM sal;
DELETE FROM sal WHERE snum = 1008;
SELECT * FROM sal;
Напишите последовательность команд, которая вставляет две строки в вашу таблицу Продавцов,
увеличивает в 2 раза комиссионные у всех продавцов и выводит содержимое таблицы после каждого изменения.
INSERT INTO sal VALUES(1010, 'Wizard', 'Los Angeles',0.11);
SELECT * FROM sal;
INSERT INTO sal VALUES(1011, 'Bell', 'Boston',0.1);
SELECT * FROM sal;
UPDATE sal SET sal.comm=sal.comm*2;
SELECT * FROM sal;