CREATE TABLE laptops ( laptop_id SERIAL PRIMARY KEY, laptop_name VARCHAR(50) NOT NULL, producer VARCHAR(25) NOT NULL, price NUMERIC NOT NULL, characteristic TEXT NULL ); CREATE TABLE providers ( provider_id SERIAL PRIMARY KEY, provider_name VARCHAR(25) NOT NULL, address VARCHAR(50) NOT NULL, phone VARCHAR(20) NULL, reputation NUMERIC NULL ); CREATE TABLE shops ( shop_id INTEGER NOT NULL, shop_name VARCHAR(25) NOT NULL, laptop_id INTEGER NOT NULL REFERENCES laptops (laptop_id), provider_id INTEGER NOT NULL REFERENCES providers (provider_id), last_delivery TIMESTAMPTZ NULL, shop_address VARCHAR(40) NOT NULL, quantity INTEGER NULL ); CREATE UNIQUE INDEX laptop_idx ON laptops(laptop_id); CREATE UNIQUE INDEX provider_idx ON providers(provider_id); CREATE INDEX laptop_provider_idx ON shops(laptop_id, provider_id); INSERT INTO laptops VALUES (1, 'Acer Aspire 1 A114-31', 'ACER', 30000,'Экран 14 1366x768, видео Intel HD Graphics 500, процессор Apollo Lake 2 ядра - кеш 2 Мб, RAM DDR3L, диск SSD'), (2, 'MSI Modern 14 C12M-238RU', 'MSI', 75900, 'Экран 12 i7-1255U 8Gb SSD 512Gb Intel Iris Xe Graphics eligible 14 FHD IPS Cam 39.3Вт*ч Win11'), (3, 'Acer ASPIRE 3 A315-21G', 'ACER', 38000, 'Экран 14 Экран 15.6 1366x768, видео AMD Radeon R3 2048 МБ, процессор Stoney Ridge 2 ядра - кеш 1 Мб, RAM DDR, диск HDD Serial ATA 5400 об/мин'), (4, 'Lenovo IdeaPad 5 15ALC05', 'Lenovo', 58900, 'Экран 17 Ryzen 3 5300U 8Gb SSD 256Gb AMD Radeon Graphics 15,6 FHD IPS Cam 57Вт*ч Win11'), (5, 'Apple MacBook 13 Early 2009', 'Apple', 50000, 'Экран 13.3 1280x800, видео NVIDIA GeForce 9400M G, RAM DDR2, диск HDD Serial ATA 5400 об/мин'), (6, 'Apple MacBook Air 11 Early 2015', 'Apple', 70000, 'Экран 11.6 1366x768, RAM LPDDR3, диск SSD'), (7, 'HP 15-ac600', 'HP', 40000, 'Экран 15.6 , RAM DDR3L, диск Serial ATA 5400 об/мин'), (8, 'HP 15-ba100', 'HP', 50000, 'Экран 15.6 1920x1080, видео AMD Radeon R5, процессор Stoney Ridge 2 ядра - кеш 1 Мб, RAM DDR4, диск HDD Serial ATA 5400 об/мин'), (9, 'ASUS X409FA-EK589T', 'ASUS', 37000, 'Экран 15.6 i3-10110U 4Gb SSD 256Gb Intel UHD Graphics 14 FHD Cam 32Вт*ч Win10'), (10, 'HP Pavilion x360 14-dy0008ur', 'HP', 61000, 'Экран 15.6 i3-1125G4 8Gb SSD 512Gb Intel UHD Graphics 14 FHD IPS TS(MLT) 43Вт*ч'), (11, 'Xiaomi RedmiBook Pro 14 2022', 'Xiaomi', 87000, 'Экран 14 Ryzen 5 6600H 16Gb SSD 512Gb AMD Radeon 660M 14 2.5K IPS BT 56Вт*ч'), (12, 'Honor MagicBook 16 HYM-W56', 'Honor', 89000, 'Экран 15.6 Ryzen 5 5600H 16Gb SSD 512Gb AMD Radeon Graphics 16,1 FHD IPS Cam 56Вт*ч Win11'), (13, 'Honor MagicBook 14 2021', 'Honor', 65000, 'Экран 13.6 i5-1135G7 8Gb SSD 512Gb Intel Iris Xe Graphics 14 FHD IPS Cam 56Вт*ч Win10'), (14, 'Lenovo V15 G2 ALC', 'Lenovo', 57000, 'Экран 15.6 Ryzen 5 5500U 12Gb SSD 512Gb AMD Radeon Graphics 15,6 FHD Cam 38Вт*ч'), (15, 'Hiper WorkBook A1568K', 'Hiper', 36000, 'Экран 17 i5-1035G1 8Gb SSD 512Gb Intel UHD Graphics 15,6 FHD IPS Cam 37Вт*ч Win11Pro'), (16, 'Samsung Galaxy Book NP750', 'Samsung', 80000,'Экран 15.6 i7-1165G7 16Gb SSD 256Gb Intel Iris Xe Graphics 15,6 FHD IPS Cam 54Вт*ч Win10Pro'), (17, 'MAIBENBEN X558', 'MAIBENBEN', 110000,'Экран 15.6 Ryzen 7 5800H 32Gb SSD 1Tb NVIDIA RTX 3060 для ноутбуков 6Gb 15,6 FHD IPS Cam 46,74Вт*ч'), (18, 'Machenike Machcreator-A', 'Machenike', 54000, 'Экран 15.6 i5-1135G7 16Gb SSD 512Gb Intel Iris Xe Graphics 15,6 FHD IPS Cam 36Вт*ч'), (19, 'GIGABYTE AORUS 15 KE4 ', 'GIGABYTE', 124000, 'Экран 15.6 i7-12700H 16Gb SSD 1Tb NVIDIA RTX 3060 для ноутбуков 6Gb 15,6 FHD IPS Cam 99Вт*ч'), (20, 'Machenike S15', 'Machenike', 110000, 'Экран 15.6 i9-12900H 16Gb SSD 512Gb NVIDIA RTX 3060 для ноутбуков 6Gb 15,6 FHD IPS Cam 53.35Вт*ч'); INSERT INTO providers VALUES (1, 'Electrotrans', 'Москва, ул. Тверская, 34', '8-925-345-87-34', 0.8), (2, 'Tech-provider', 'Москва, ул. 1905, 87', '8-925-998-22-32', 0.4), (3, 'Ampero', 'Москва, ул. Свободный проспект, 33', '+7 (977) 388-74-10', 1.0), (4, 'РемБытТехника', 'Владивосток, ул. Приморская, 16', '+7 (957) 234-56-11', 0.87), (5, 'Geal Trade Co., Ltd.', 'Шэньчжэнь, 3-я ул. Фуньчжун, 3', '+7613236578572', 0.21), (6, 'Lite-Computer Store', 'Санкт-Петербург, Заневский проспект, 8', '+79111974971', 0.27), (7, 'Сиблок', 'Новосибирск, ул. Днепровская, 34', '+79137839212', 0.56), (8, 'HARDIS', 'Минск, ул. Карла Маркса, 43', '+375 29 121 1284', 0.75), (9, 'SIMILOR ELECTRONICS LTD', 'Шанхай, ул. Бэйхай, 63', '+79870410709', 0.93), (10, 'Лаборатория Электроники', 'Москва, 5-Я Кожуховская ул., 9', '+7 495 971 89 01', 0.81), (11, 'Justalk.ru', 'Москва, Артековская, 1А', '+79859365433', 0.34), (12, 'АйТи-Технолоджи', 'Москва, Профсоюзная улица, 56', '+79032656078', 0.47), (13, '7SERVEROV', 'Москва, Енисейская, 1', '+74993222806', 0.19), (14, 'АМС', 'г. Первоуральск, ул. Герцена, д. 23, пом.2', '+7 (800) 700-25-08', 0.54), (15, 'AlexStore', 'г. Москва, Сущёвский вал, д. 5, стр. 1А', '+7 (495) 120-26-40', 0.76), (16,'ТехБай','г. Москва, 1-й дорожный проезд, д. 4','+7 (499) 215-79-69', 0.34), (17,'Элетерра','Новосибирск, ул.Коммунистическая, д.35','+7 (383) 223-23-92', 0.48), (18,'AllMarket','Лакинск, ул. Пушкина, д. 8','+7 (930) 222-30-96', 0.69), (19,'Фортегрупп','Павловск, ул.Госпитальная, д.21А','+7 (952) 275-71-79', 0.89), (20,'KNS digital solutions','г.Москва, ул.Лубянка, д.38','+7 (495) 626-20-20', 0.71); INSERT INTO shops VALUES (1, 'Эльдорадо', 1, 1, '2022-04-04 20:00:00', 'Балашиха, проспект Ленина, 88', 10), (1, 'Эльдорадо', 5, 13, '2022-06-24 13:56:23', 'Балашиха, проспект Ленина, 88', 22), (2, 'М.видео', 16, 1, '2022-06-30 16:32:54', 'Тула, ул. 50 лет Победа, 2', 20), (2, 'М.видео', 2, 2, '2022-04-12 14:37:12', 'Тула, ул. 50 лет Победа, 2', 15), (3, 'DNS', 8, 10, '2021-11-24 12:54:33', 'Владимир, ул. Пушкинская, 35', 38), (4, 'Ситилинк', 13, 3, '2022-04-21 23:45:01', 'Санкт-Петербург, ул. Думская, 105', 50), (5, 'Media Markt', 9, 8, '2022-02-23 05:56:09', 'Москва, Волоколамское шоссе, 23', 40), (1, 'Эльдорадо', 3, 6, '2022-05-26 03:51:43', 'Балашиха, проспект Ленина, 88', 45), (3, 'DNS', 12, 7, '2021-11-24 12:54:33', 'Владимир, ул. Пушкинская, 35', 35), (2, 'М.видео', 4, 14, '2021-10-12 17:08:13', 'Тула, ул. 50 лет Победа, 2', 18), (4, 'Ситилинк', 6, 4, '2022-05-30 11:07:45', 'Санкт-Петербург, ул. Думская, 105', 70), (3, 'DNS', 10, 8, '2022-11-27 18:44:09', 'Владимир, ул. Пушкинская, 35', 55), (5, 'Media Markt', 14, 5, '2022-03-13 12:22:19', 'Москва, Волоколамское шоссе, 23', 32), (1, 'Эльдорадо', 11, 9, '2022-05-14 17:21:23', 'Балашиха, проспект Ленина, 88', 36), (5, 'Media Markt', 15, 12, '2022-03-04 06:09:34', 'Москва, Волоколамское шоссе, 23', 24), (3, 'DNS', 4, 8, '2022-06-05 15:36:45', 'Владимир, ул. Пушкинская, 35', 8), (2, 'М.видео', 13, 11, '2022-06-02 13:21:26', 'Тула, ул. 50 лет Победа, 2', 5), (4, 'Ситилинк', 2, 3, '2022-05-23 04:17:23', 'Санкт-Петербург, ул. Думская, 105', 12), (1, 'Эльдорадо', 12, 10, '2021-11-15 12:34:13', 'Балашиха, проспект Ленина, 88', 16), (4, 'Ситилинк', 1, 5, '2022-06-13 07:09:33', 'Санкт-Петербург, ул. Думская, 105', 15), (3, 'DNS', 7, 6, '2022-05-01 14:35:44', 'Владимир, ул. Пушкинская, 35', 3), (5, 'Media Markt', 17, 15, '2022-03-04 06:09:34', 'Москва, Волоколамское шоссе, 23', 24), (2, 'М.видео', 11, 9, '2022-07-12 06:24:27', 'Тула, ул. 50 лет Победа, 2', 35), (3, 'DNS', 14, 4, '2022-02-09 08:21:11', 'Владимир, ул. Пушкинская, 35', 7), (1, 'Эльдорадо', 6, 7, '2022-10-12 07:56:22', 'Балашиха, проспект Ленина, 88', 22), (4, 'Ситилинк', 5, 2, '2022-01-03 02:23:13', 'Санкт-Петербург, ул. Думская, 105', 13), (3, 'DNS', 15, 13, '2022-04-19 18:34:27', 'Владимир, ул. Пушкинская, 35', 40), (5, 'Media Markt', 13, 11, '2022-03-15 13:54:36', 'Москва, Волоколамское шоссе, 23', 25), (4, 'Ситилинк', 8, 9, '2022-05-28 12:27:12', 'Санкт-Петербург, ул. Думская, 105', 33), (2, 'М.видео', 7, 6, '2022-06-02 23:43:17', 'Тула, ул. 50 лет Победа, 2', 5), (4, 'Ситилинк', 18, 16, '2022-07-05 12:24:22', 'Санкт-Петербург, ул. Думская, 105', 33), (3, 'DNS', 19, 17, '2022-03-09 09:34:26', 'Владимир, ул. Пушкинская, 35', 7), (5, 'Media Markt', 20, 18, '2022-08-14 07:19:24', 'Москва, Волоколамское шоссе, 23', 24), (1, 'Эльдорадо', 12, 19, '2021-11-18 12:31:05', 'Балашиха, проспект Ленина, 88', 16), (2, 'М.видео', 18, 20, '2022-06-02 12:47:07', 'Тула, ул. 50 лет Победа, 2', 5), (3, 'DNS', 20, 13, '2022-11-19 08:45:16', 'Владимир, ул. Пушкинская, 35', 7); CREATE TABLE laptops_audits ( laptop_name VARCHAR(50) NOT NULL, producer VARCHAR(25) NOT NULL, price NUMERIC NOT NULL, characteristic TEXT NULL ); CREATE TABLE customers ( customer_id SERIAL PRIMARY KEY, customer_name VARCHAR(50) NOT NULL, shop_id INTEGER NOT NULL, --TODO: добавить CHECK что shop_id в shops laptop_id INTEGER NOT NULL REFERENCES laptops (laptop_id), customer_balance NUMERIC NOT NULL ); CREATE TABLE sellers ( seller_id SERIAL PRIMARY KEY, seller_name VARCHAR(50) NOT NULL, shop_id INTEGER NOT NULL, --TODO: добавить CHECK что shop_id в shops laptop_id INTEGER NOT NULL REFERENCES laptops (laptop_id), seller_balance NUMERIC NOT NULL ); CREATE UNIQUE INDEX customers_idx ON customers(customer_id); CREATE UNIQUE INDEX sellers_idx ON sellers(seller_id); INSERT INTO customers VALUES (1, 'Vasiliy Petrov', 3, 7, 100000), (2, 'Alexey Morozov', 5, 14, 150000), (3, 'Andrey Korolev', 1, 6, 80000), (4, 'Ivan Klimov', 2, 4, 70000), (5, 'Leonid Vasin', 2, 7, 40000), (6, 'Anna Voronina', 4, 6, 150000), (7, 'Kirill Prohorov', 3, 12, 200000), (8, 'Artem Ribov', 4, 2, 70000), (9, 'Anastasia Orehova', 2, 7, 50000), (10, 'Mihail Bolshov', 1, 5, 90000), (11, 'Alexandr Mineev', 3, 10, 200000), (12, 'Georgiy Nazarov', 2, 11, 100000), (13, 'Kristina Lipova', 5, 15, 120000), (14, 'Andrey Leonov', 5, 14, 50000), (15, 'Roman Lobanov', 4, 1, 65000), (16, 'Boris Lebedev', 5, 9, 70000), (17, 'Vladimir Makarov', 2, 7, 56000), (18, 'Polina Polonskaya', 1, 12, 125000), (19, 'Sergey Tolstoy', 4, 2, 88000), (20, 'Dmitriy Gusev', 1, 3, 59000); INSERT INTO sellers VALUES (1, 'Petr Siluanov', 3, 7, 0), (2, 'Evgeniy Yarushin', 5, 14, 10000), (3,'Stanislav Egorov', 1, 6, 5000), (4, 'Elena Mogileva', 2, 4, 2000), (5, 'Konstantin Dvorovoy', 2, 7, 5500), (6, 'Maxim Smirnov', 4, 6, 12000), (7, 'Pavel Fomenko', 3, 12, 16000), (8, 'Anatoly Zaripov', 4, 2, 3000), (9, 'Olga Maslova', 2, 7, 7000), (10, 'Victor Gavrilov', 1, 5, 20000), (11, 'Vladimir Zverev', 3, 10, 2000), (12, 'Maria Estratova', 2, 11, 13000), (13, 'Nikita Belov', 5, 15, 18000), (14, 'Daniil Barkov', 5, 14, 40000), (15, 'Nikolay Naumov', 4, 1, 27000), (16, 'Vladislav Sidorov', 5, 9, 50000), (17, 'Ilya Semenov', 2, 7, 70000), (18, 'Sergey Nechaev', 1, 12, 63000), (19, 'Darya Safronova', 4, 2, 19000), (20, 'Yaroslav Nikitin', 1, 3, 70000); INSERT INTO laptops_audits VALUES ('Acer Aspire 1 A114-31', 'ACER', 25000,'Экран 14 1366x768, видео Intel HD Graphics 500, процессор Apollo Lake 2 ядра - кеш 2 Мб, RAM DDR3L, диск SSD'), ('MSI Modern 14 C12M-238RU', 'MSI', 80000, 'Экран 12 i7-1255U 8Gb SSD 512Gb Intel Iris Xe Graphics eligible 14 FHD IPS Cam 39.3Вт*ч Win11'), ('Acer ASPIRE 3 A315-21G', 'ACER', 40000, 'Экран 14 Экран 15.6 1366x768, видео AMD Radeon R3 2048 МБ, процессор Stoney Ridge 2 ядра - кеш 1 Мб, RAM DDR, диск HDD Serial ATA 5400 об/мин'), ('Lenovo IdeaPad 5 15ALC05', 'Lenovo', 55000, 'Экран 17 Ryzen 3 5300U 8Gb SSD 256Gb AMD Radeon Graphics 15,6 FHD IPS Cam 57Вт*ч Win11'), ('Apple MacBook 13 Early 2009', 'Apple', 60000, 'Экран 13.3 1280x800, видео NVIDIA GeForce 9400M G, RAM DDR2, диск HDD Serial ATA 5400 об/мин'), ('Apple MacBook Air 11 Early 2015', 'Apple', 80000, 'Экран 11.6 1366x768, RAM LPDDR3, диск SSD'), ('HP 15-ac600', 'HP', 34000, 'Экран 15.6 , RAM DDR3L, диск Serial ATA 5400 об/мин'), ('HP 15-ba100', 'HP', 40000, 'Экран 15.6 1920x1080, видео AMD Radeon R5, процессор Stoney Ridge 2 ядра - кеш 1 Мб, RAM DDR4, диск HDD Serial ATA 5400 об/мин'), ('ASUS X409FA-EK589T', 'ASUS', 50000, 'Экран 15.6 i3-10110U 4Gb SSD 256Gb Intel UHD Graphics 14 FHD Cam 32Вт*ч Win10'), ('HP Pavilion x360 14-dy0008ur', 'HP', 54000, 'Экран 15.6 i3-1125G4 8Gb SSD 512Gb Intel UHD Graphics 14 FHD IPS TS(MLT) 43Вт*ч'), ('Xiaomi RedmiBook Pro 14 2022', 'Xiaomi', 90000, 'Экран 14 Ryzen 5 6600H 16Gb SSD 512Gb AMD Radeon 660M 14 2.5K IPS BT 56Вт*ч'), ('Honor MagicBook 16 HYM-W56', 'Honor', 100000, 'Экран 15.6 Ryzen 5 5600H 16Gb SSD 512Gb AMD Radeon Graphics 16,1 FHD IPS Cam 56Вт*ч Win11'), ('Honor MagicBook 14 2021', 'Honor', 80000, 'Экран 13.6 i5-1135G7 8Gb SSD 512Gb Intel Iris Xe Graphics 14 FHD IPS Cam 56Вт*ч Win10'), ('Lenovo V15 G2 ALC', 'Lenovo', 50000, 'Экран 15.6 Ryzen 5 5500U 12Gb SSD 512Gb AMD Radeon Graphics 15,6 FHD Cam 38Вт*ч'), ('Hiper WorkBook A1568K', 'Hiper', 30000, 'Экран 17 i5-1035G1 8Gb SSD 512Gb Intel UHD Graphics 15,6 FHD IPS Cam 37Вт*ч Win11Pro'), ('Samsung Galaxy Book NP750', 'Samsung', 100000,'Экран 15.6 i7-1165G7 16Gb SSD 256Gb Intel Iris Xe Graphics 15,6 FHD IPS Cam 54Вт*ч Win10Pro'), ('MAIBENBEN X558', 'MAIBENBEN', 150000,'Экран 15.6 Ryzen 7 5800H 32Gb SSD 1Tb NVIDIA RTX 3060 для ноутбуков 6Gb 15,6 FHD IPS Cam 46,74Вт*ч'), ('Machenike Machcreator-A', 'Machenike', 45000, 'Экран 15.6 i5-1135G7 16Gb SSD 512Gb Intel Iris Xe Graphics 15,6 FHD IPS Cam 36Вт*ч'), ('GIGABYTE AORUS 15 KE4 ', 'GIGABYTE', 100000, 'Экран 15.6 i7-12700H 16Gb SSD 1Tb NVIDIA RTX 3060 для ноутбуков 6Gb 15,6 FHD IPS Cam 99Вт*ч'), ('Machenike S15', 'Machenike', 110000, 'Экран 15.6 i9-12900H 16Gb SSD 512Gb NVIDIA RTX 3060 для ноутбуков 6Gb 15,6 FHD IPS Cam 53.35Вт*ч'); SELECT provider_id, provider_name, CASE WHEN reputation=NULL THEN 'No reviews' WHEN reputation < 0.3 THEN 'Bad reviews' WHEN reputation < 0.7 THEN 'Common reviews' ELSE 'Good reviews' END from providers; select shop_name,provider_name, laptop_id, last_delivery, shop_address, quantity, address from shops join providers on shops.provider_id=providers.provider_id; select * from sellers left join laptops on sellers.laptop_id=laptops.laptop_id; select * from customers right join laptops on customers.laptop_id=laptops.laptop_id; select * from customers cross join laptops where customers.customer_balance < laptops.price AND laptops.price > 100000; INSERT INTO sellers values (21, 'Yaroslava Nikitina', 31, 3, 70000); INSERT INTO shops VALUES (33, 'Эльдорадо', 1, 1, '2022-04-04 20:00:00', 'Балашиха, проспект Ленина, 88', 10); select seller_name, shop_name, shop_address, sum(quantity) from sellers full join shops on sellers.shop_id=shops.shop_id group by seller_name, shop_name, shop_address;
Write, Run & Share PostgreSQL queries online using OneCompiler's PostgreSQL online editor and compiler for free. It's one of the robust, feature-rich online editor and compiler for PostgreSQL. Getting started with the OneCompiler's PostgreSQL editor is really simple and pretty fast. The editor shows sample boilerplate code when you choose database as 'PostgreSQL' and start writing queries to learn and test online without worrying about tedious process of installation.
PostgreSQL is a open source relational database system and is also knows as Postgres.
CREATE command is used to create a table, schema or an index.
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
....);
ALTER command is used to add, modify or delete columns or constraints from the database table.
ALTER TABLE Table_name ADD column_name datatype;
TRUNCATE command is used to delete the data present in the table but this will not delete the table.
TRUNCATE table table_name;
DROP command is used to delete the table along with its data.
DROP TABLE table_name;
RENAME command is used to rename the table name.
ALTER TABLE table_name1 RENAME to new_table_name1;
INSERT Statement is used to insert new records into the database table.
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
Select statement is used to select data from database tables.
SELECT column1, column2, ...
FROM table_name;
UPDATE statement is used to modify the existing values of records present in the database table.
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
DELETE statement is used to delete the existing records present in the database table.
DELETE FROM table_name where condition;