fix postgres
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user