SQLize
Online
/
PHPize Online
/
SQLtest Online
A
A
A
Share
Donate
Blog
Popular
Donate
A
A
A
Share
Blog
Popular
SQLize.online is a free online SQL environment for quickly running, experimenting with and sharing code.
You can run your SQL code on top of the most popular RDBMS including MySQL, MariaDB, SQLite, PostgreSQL, Oracle and Microsoft SQL Server.
SQL code:
Upload
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;
SQL
Server:
MariaDB 11.4
MariaDB 11.5
MariaDB 10
MariaDB 10 Sakila (ReadOnly)
MySQL 5.7
MySQL 5.7 Sakila (ReadOnly)
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
SQLite 3
SQLite 3 Preloaded
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 11
PostgreSQL 12
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
Version
ER Diagram
Preserve result
Stuck with a problem?
Got Error?
Ask ChatGPT!
Result:
Copy
Clear