fix postgres

This commit is contained in:
Bonifatsiy
2026-05-11 07:02:07 +04:00
parent 0f63e21353
commit cbdb54a36b
3 changed files with 15 additions and 11 deletions
+9 -5
View File
@@ -1,5 +1,5 @@
CREATE TABLE dsolovianov.users ( CREATE TABLE dsolovianov.users (
id INT GENERATED ALWAYS AS IDENTITY NOT NULL, id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name VARCHAR(100) NOT NULL, name VARCHAR(100) NOT NULL,
age INT, age INT,
email VARCHAR(100), email VARCHAR(100),
@@ -9,7 +9,7 @@ CREATE TABLE dsolovianov.users (
); );
CREATE TABLE dsolovianov.products ( CREATE TABLE dsolovianov.products (
id INT GENERATED ALWAYS AS IDENTITY NOT NULL, id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name VARCHAR(100) NOT NULL, name VARCHAR(100) NOT NULL,
category VARCHAR(50), category VARCHAR(50),
price DECIMAL(10,2) NOT NULL, price DECIMAL(10,2) NOT NULL,
@@ -17,7 +17,7 @@ CREATE TABLE dsolovianov.products (
); );
CREATE TABLE dsolovianov.orders ( CREATE TABLE dsolovianov.orders (
id INT GENERATED ALWAYS AS IDENTITY NOT NULL, id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
user_id INT, user_id INT,
order_date TIMESTAMPTZ NOT NULL, order_date TIMESTAMPTZ NOT NULL,
status VARCHAR(20) status VARCHAR(20)
@@ -26,7 +26,11 @@ CREATE TABLE dsolovianov.orders (
CREATE TABLE dsolovianov.order_items ( CREATE TABLE dsolovianov.order_items (
order_id INT NOT NULL, order_id INT NOT NULL,
product_id INT NOT NULL, product_id INT NOT NULL,
quantity INT NOT NULL, quantity INT NOT NULL CHECK (quantity > 0),
price_at_purchase DECIMAL(10,2) NOT NULL, price_at_purchase DECIMAL(10,2) NOT NULL CHECK (price_at_purchase > 0),
CONSTRAINT order_items_pk PRIMARY KEY (order_id, product_id) CONSTRAINT order_items_pk PRIMARY KEY (order_id, product_id)
CONSTRAINT order_items_order_fk
FOREIGN KEY (order_id) REFERENCES dsolovianov.orders(id),
CONSTRAINT order_items_product_fk
FOREIGN KEY (product_id) REFERENCES dsolovianov.products(id)
); );
@@ -64,13 +64,15 @@ SELECT id,
name, name,
country country
FROM dsolovianov.users FROM dsolovianov.users
WHERE country LIKE 'US'; WHERE country LIKE 'US'
ORDER BY name;
SELECT id, SELECT id,
name, name,
country country
FROM dsolovianov.users FROM dsolovianov.users
WHERE country LIKE 'UK'; WHERE country LIKE 'UK'
ORDER BY name;
SELECT id, SELECT id,
name, name,
@@ -110,15 +110,13 @@ SELECT name,
FROM dsolovianov.products FROM dsolovianov.products
WHERE category NOT LIKE '%iPhone%'; WHERE category NOT LIKE '%iPhone%';
SELECT id, SELECT name,
name,
category, category,
price price
FROM dsolovianov.products FROM dsolovianov.products
WHERE name ILIKE '%pro%'; WHERE name ILIKE '%pro%';
SELECT id, SELECT name,
name,
category, category,
price price
FROM dsolovianov.products FROM dsolovianov.products