SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
CREATE TABLE person ( person_code varchar(3) PRIMARY KEY, first_name varchar(15), last_name varchar(20), hiredate DATE ); CREATE TABLE purchase ( product_name varchar(25), salesperson varchar(3), purchase_date DATE, quantity numeric(4, 2) ); CREATE TABLE product ( product_name varchar(25) PRIMARY KEY, product_price numeric(8, 2), quantity_on_hand numeric(5, 0), laststockdate DATE ); CREATE TABLE old_item ( item_id CHAR(20), item_desc CHAR(25) ); CREATE TABLE purchase_archive ( product_name varchar (25), salesperson varchar(3), purchase_date DATE, quantity numeric (4, 2) ); ALTER TABLE purchase ADD CONSTRAINT purchase_fk_person FOREIGN KEY (salesperson) REFERENCES person; ALTER TABLE purchase ADD CONSTRAINT purchase_fk_product FOREIGN KEY (product_name) REFERENCES product; INSERT INTO product VALUES ('Small Widget', 99, 1, '15-JAN-2011'); INSERT INTO product VALUES ('Medium Widget', 75, 1000, '15-JAN-2010'); INSERT INTO product VALUES ('Chrome Phoobar', 50, 100, '15-JAN-2011'); INSERT INTO product VALUES ('Round Chrome Snaphoo', 25, 10000, NULL); INSERT INTO product VALUES ('Extra Huge Mega Phoobar +', 9.95, 1234, '15-JAN-2012'); INSERT INTO product VALUES ('Square Zinculator', 45, 1, '31-DEC-2010'); INSERT INTO product VALUES ('Large Widget', NULL, 5, '11-JAN-2011'); INSERT INTO person VALUES ( 'CA', 'Charlene', 'Atlas', '01-FEB-2010'); INSERT INTO person VALUES ('GA', 'Gary', 'Anderson', '15-FEB-2010'); INSERT INTO person VALUES ( 'BB', 'Bobby', 'Barkenhagen', '28-FEB-2010'); INSERT INTO person VALUES ( 'LB', 'Laren', 'Baxter', '01-MAR-2010'); INSERT INTO person VALUES ('JS', 'John', 'Smith', '15-FEB-2002'); INSERT INTO person VALUES ('DS', 'Dany', 'Smith', '15-FEB-2002'); INSERT INTO purchase VALUES ('Small Widget', 'CA', '14-JUL-2011', 1); INSERT INTO purchase VALUES ('Medium Widget', 'BB', '14-JUL-2011', 75); INSERT INTO purchase VALUES ('Chrome Phoobar', 'GA', '14-JUL-2011', 2); INSERT INTO purchase VALUES ('Small Widget', 'GA', '15-JUL-2011', 8); INSERT INTO purchase VALUES ('Medium Widget', 'LB', '15-JUL-2011', 20); INSERT INTO purchase VALUES ('Round Chrome Snaphoo', 'CA', '16-JUL-2011', 5); INSERT INTO old_item VALUES ('MSC-101', 'Bottle, Small'); INSERT INTO old_item VALUES ('MSC-102', 'Bottle, Large'); INSERT INTO old_item VALUES ('SPB-101', 'Box, Small'); INSERT INTO old_item VALUES ('SPB-102', 'Box, Large'); INSERT INTO purchase_archive VALUES ('Round Snaphoo', 'BB', '21-JUN-01', 10); INSERT INTO purchase_archive VALUES ('Large Harf linger', 'GA', '22-JUN-01', 50); INSERT INTO purchase_archive VALUES ( 'Medium Wodget', 'LB', '23-JUN-01', 20); INSERT INTO purchase_archive VALUES ('Small Widget', 'ZZ', '24-JUN-02 ', 80); INSERT INTO purchase_archive VALUES ('Chrome Phoobar', 'CA', '25-JUN-02', 2); INSERT INTO purchase_archive VALUES ('Small Widget', 'JT', '26-JUN-02', 50); /* 1. Напишите запрос, полностью показывающий таблицу purchase. */ SELECT * FROM purchase; /* 2. Напишите запрос, выбирающий столбцы product_name и quantity из таблицы Purchase. */ SELECT product_name, quantity FROM purchase; /* 3. Напишите запрос, выбирающий эти столбцы (не данные) в обратном порядке. */ SELECT quantity, product_name FROM purchase; /* 4. Напишите запрос, выводящий для каждой строки таблицы person следующий текст: <first_name> <last_name> started working on<hiredate>*. Получаемому столбцу присвоить псевдоним "Enrolled on”. * MSSQL не поддерживает объединение столбцов с типами данных varchar и date. Используйте оператор конветации: CONVERT(VARCHAR, hiredate). */ --!!! ПРОВЕРИТЬ SELECT first_name + ' ' + last_name + ' started working on' + CONVERT(VARCHAR, hiredate) as 'Enrolled on' FROM person; --MySQL --SELECT CONCAT(first_name, ' ', last_name, ' started working on', hiredate) as 'Enrolled on' --FROM person; /* 5. Напишите запрос, выводящий наименование продуктов product_name (таблица product), для которых цена не определена (NULL). */ SELECT product_name FROM product WHERE product_price is NULL; /* 6. Напишите запрос, выводящий наименование продуктов product_name (таблица purchase), которых продали от 3 до 23 штук. Используйте разные команды для отбора данных в разделе WHERE. */ SELECT product_name FROM purchase WHERE quantity > 3 AND quantity < 23; SELECT product_name FROM purchase WHERE quantity BETWEEN 3 AND 23; /* 7. Напишите запрос, выводящий фамилии сотрудников, которых приняли на работу 1го, 15го и 28го февраля 2010 года. */ --!!! ПРОВЕРИТЬ SELECT last_name FROM person WHERE hiredate IN (CONVERT(DATE,'01-FEB-2010'), CONVERT(DATE,'15-FEB-2010'), CONVERT(DATE,'28-FEB-2010')); --WHERE CONVERT(VARCHAR, hiredate) IN ('01-FEB-2010', '15-FEB-2010', '28-FEB-2010'); --WHERE hiredate IN ('01-02-2010', '15-02-2010', '28-02-2010'); --WHERE hiredate IN ('2010-02-01', '2010-02-15', '2010-02-28'); /* 8. Напишите запрос, выводящий наименование продуктов product_name (таблица purchase), проданных сотрудниками, фамилии которых начинаются на "B”. */ SELECT product_name FROM purchase WHERE salesperson LIKE '_B'; /* 9. Напишите запрос, выводящий наименование продуктов product_name (таблица purchase), проданных сотрудниками, фамилии которых НЕ начинаются на "B”. */ SELECT product_name FROM purchase WHERE salesperson NOT LIKE '_B'; /* 10. Напишите запрос, выводящий фамилии и дату приема на работу сотрудников, фамилии которых начинаются на "B” и которых приняли на работу раньше 1 марта 2010 года. */ --!!! ПРОВЕРИТЬ SELECT last_name, hiredate FROM person WHERE last_name LIKE 'B%' AND hiredate < CONVERT(DATE,'01-MAR-2010'); --AND hiredate < '01-03-2010'; --AND hiredate < '2010-03-01'; /* 11. Напишите запрос, выводящий наименование продуктов product_name и дату последней поставки laststockdate (таблица product), наименование которых Small Widget, Medium Widget и Large Widget или те, для которых не указана дата последней поставки. Отсортируйте по убыванию даты последней поставки. */ SELECT product_name, laststockdate FROM product WHERE product_name IN ('Small Widget', 'Medium Widget', 'Large Widget') OR laststockdate is NULL ORDER BY laststockdate DESC; -------------------------------------------------------------------------------- -- SELECT * FROM person; -- SELECT * FROM purchase; -- SELECT * FROM product; -- SELECT * FROM old_item; -- SELECT * FROM purchase_archive;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear