203 lines
4.5 KiB
SQL
203 lines
4.5 KiB
SQL
# Робота з підзапитами
|
||
Передумови
|
||
Для роботи використайте навчальну базу даних OrdersDB_2.
|
||
OrdersDB_2 складається з 3-х таблиць:
|
||
1. Salespeople - продавці
|
||
містить поля:
|
||
SNUM - ID продавця
|
||
SNAME - ім’я продавця
|
||
CITY - місто продавця
|
||
COMM - комісійні продавця
|
||
|
||
2. Cusstomer - покупці
|
||
містить поля:
|
||
CNUM - ID покупця
|
||
CNAME - ім’я покупця,
|
||
CITY - місто покупця,
|
||
RATING - рейтинг покупця,
|
||
SNUM - ID продавця, що обслуговує покупця,
|
||
|
||
3. Orders - покупці
|
||
містить поля:
|
||
ONUM - ID угоди
|
||
amt - сума угоди
|
||
ODATE - дата угоди
|
||
CNUM - ID покупця,
|
||
SNUM - ID продавця,
|
||
-------------------------------------------------------
|
||
-------------------------------------------------------
|
||
1. Створіть, якщо не має базу даних OrdersDB_2.
|
||
|
||
CREATE DATABASE OrdersDB_2;
|
||
-------------------------------------------------------
|
||
2. Виберіть базу даних OrdersDB_2
|
||
|
||
USE OrdersDB_2;
|
||
-------------------------------------------------------
|
||
3. Створіть необхідні таблиці 3.1 Таблицю продавцівв
|
||
|
||
CREATE TABLE Salespeople (
|
||
SNUM int NOT NULL,
|
||
SNAME char(20) NOT NULL,
|
||
CITY char(20),
|
||
COMM decimal(8, 2),
|
||
PRIMARY KEY (SNUM)
|
||
);
|
||
-------------------------------------------------------
|
||
3.2 Таблицю покупців
|
||
|
||
CREATE TABLE Customers (
|
||
CNUM int NOT NULL,
|
||
CNAME char(20) NOT NULL,
|
||
CITY char(20),
|
||
RATING int,
|
||
SNUM int,
|
||
PRIMARY KEY (CNUM),
|
||
CONSTRAINT sales_snum FOREIGN KEY (SNUM) REFERENCES Salespeople (SNUM)
|
||
);
|
||
-------------------------------------------------------
|
||
3.3 Таблицю Замовлень
|
||
|
||
CREATE TABLE Orders (
|
||
ONUM int NOT NULL,
|
||
amt decimal(9, 2),
|
||
ODATE date,
|
||
CNUM int,
|
||
SNUM int,
|
||
PRIMARY KEY (ONUM),
|
||
CONSTRAINT o_sales_snum FOREIGN KEY (SNUM) REFERENCES Salespeople (SNUM),
|
||
CONSTRAINT custom_cnum FOREIGN KEY (CNUM) REFERENCES Customers (CNUM)
|
||
);
|
||
-------------------------------------------------------
|
||
4. Заповніть таблиці даними 4.1 Таблицю Satespeople
|
||
|
||
INSERT INTO Salespeople (SNUM, SNAME, CITY, COMM)
|
||
VALUES
|
||
(1001,"Peel","London",.12),
|
||
(1002,"Serres","San Jose",.13),
|
||
(1004,"Motika","London",.11),
|
||
(1007,"Rifkin","Barcelona",.15),
|
||
(1003,"Axelrod","New York",.10)
|
||
;
|
||
-------------------------------------------------------
|
||
4.2 Таблицю Customers
|
||
|
||
INSERT INTO
|
||
Customers
|
||
VALUES (
|
||
2001,
|
||
"Hoffman",
|
||
"London",
|
||
100,
|
||
1001
|
||
),
|
||
(
|
||
2002,
|
||
"Giovanni",
|
||
"Rome",
|
||
200,
|
||
1003
|
||
),
|
||
(
|
||
2003,
|
||
"Liu",
|
||
"San Jose",
|
||
200,
|
||
1002
|
||
),
|
||
(
|
||
2004,
|
||
"Grass",
|
||
"Berlin",
|
||
300,
|
||
1002
|
||
),
|
||
(
|
||
2006,
|
||
"Clemens",
|
||
"London",
|
||
100,
|
||
1001
|
||
),
|
||
(
|
||
2008,
|
||
"Cisneros",
|
||
"San Jose",
|
||
300,
|
||
1007
|
||
),
|
||
(
|
||
2007,
|
||
"Pereira",
|
||
"Rome",
|
||
100,
|
||
1004
|
||
);
|
||
-------------------------------------------------------
|
||
4.2 Таблицю Orders
|
||
|
||
INSERT INTO
|
||
Orders
|
||
VALUES (
|
||
3003,
|
||
767.19,
|
||
"1990-10-03",
|
||
2001,
|
||
1001
|
||
),
|
||
(
|
||
3002,
|
||
1900.10,
|
||
"1990-10-03",
|
||
2007,
|
||
1004
|
||
),
|
||
(
|
||
3005,
|
||
5160.45,
|
||
"1990-10-03",
|
||
2003,
|
||
1002
|
||
),
|
||
(
|
||
3006,
|
||
1098.16,
|
||
"1990-10-03",
|
||
2008,
|
||
1007
|
||
),
|
||
(
|
||
3009,
|
||
1713.23,
|
||
"1990-10-04",
|
||
2002,
|
||
1003
|
||
),
|
||
(
|
||
3007,
|
||
75.75,
|
||
"1990-10-04",
|
||
2004,
|
||
1002
|
||
),
|
||
(
|
||
3008,
|
||
4723.00,
|
||
"1990-10-05",
|
||
2006,
|
||
1001
|
||
),
|
||
(
|
||
3010,
|
||
1309.95,
|
||
"1990-10-06",
|
||
2004,
|
||
1002
|
||
),
|
||
(
|
||
3011,
|
||
9891.88,
|
||
"1990-10-06",
|
||
2006,
|
||
1001
|
||
); |