CREATE TABLE person (
person_code VARCHAR(3) PRIMARY KEY,
first_name VARCHAR(15),
last_name VARCHAR(20),
hiredate DATE
);
CREATE TABLE product (
product_name VARCHAR(25) PRIMARY KEY,
product_price NUMERIC(8,2),
quantity_on_hand NUMERIC(5,0),
laststockdate DATE
);
CREATE TABLE purchase (
product_name VARCHAR(25) REFERENCES product(product_name),
salesperson VARCHAR(3) REFERENCES person(person_code),
purchase_date DATE,
quantity NUMERIC(4,2)
);
CREATE TABLE purchase_archive (
product_name VARCHAR(25),
salesperson VARCHAR(25),
purchase_date DATE,
quantity NUMERIC(4,2)
);
INSERT INTO person VALUES
('BB', 'Bobby', 'Barkenhagen', '2010-02-28'),
('CA', 'Charlene', 'Atlas', '2010-02-01'),
('DS',' Dany', 'Smith', '2002-02-15'),
('GA', 'Gary', 'Anderson', '2010-02-15'),
('JS', 'John', 'Smith', '2002-02-15'),
('LB', 'Laren', 'Baxter', '2010-03-01');
INSERT INTO product VALUES
('Chrome Phoobar', '50.00', '100', '2011-01-15'),
('Extra Huge Mega Phoobar +', '9.5', '1234', '2012-01-15'),
('Large Widget', NULL, '5', '2011-01-11'),
('Medium Widget', '75.00', '1000', '2010-01-15'),
('Round Chrome Snaphoo', '25.00', '10000', NULL),
('Small Widget', '99.00', '1', '2011-01-15'),
('Square Zinculator', '45.00', '1', '2010-12-31');
INSERT INTO purchase VALUES
('Small Widget', 'CA', '2011-07-14','1.00'),
('Medium Widget', 'BB','2011-07-14','75.00'),
('Chrome Phoobar', 'GA', '2011-07-14', '2.00'),
('Small Widget', 'GA', '2011-07-15', '8.00'),
('Medium Widget', 'LB', '2011-07-15', '20.00'),
('Round Chrome Snaphoo', 'CA', '2011-07-16', '5.00');
INSERT INTO purchase_archive VALUES
('Round Snaphoo', 'BB', '2001-06-21', '10.00'),
('Large Harf linger', 'GA', '2001-06-22', '50.00'),
('Medium Wodget', 'LB', '2001-06-23', '20.00'),
('Small Widget', 'ZZ', '2002-06-24', '80.00'),
('Chrome Phoobar', 'CA', '2002-06-25', '2.00'),
('Small Widget', 'JT', '2002-06-26', '50.00');
--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β*/
/*SELECT first_name + ' ' + last_name + ' started working on ' + CONVERT(VARCHAR, 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 BETWEEN 3 AND 23;*/
/*SELECT product_name
FROM purchase
WHERE quantity >= 3 AND quantity <= 23;*/
/*7. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΈΠ½ΡΠ»ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΡ 1Π³ΠΎ, 15Π³ΠΎ ΠΈ 28Π³ΠΎ
ΡΠ΅Π²ΡΠ°Π»Ρ 2010 Π³ΠΎΠ΄Π°.*/
/*SELECT last_name
FROM person
WHERE hiredate IN ('2010-02-01', '2010-02-15', '2010-02-28');*/
/*8.ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² product_name (ΡΠ°Π±Π»ΠΈΡΠ° purchase),
ΠΏΡΠΎΠ΄Π°Π½Π½ΡΡ
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Π½Π° "Bβ.*/
/*SELECT product_name
FROM purchase
JOIN person ON person_code = person_code
WHERE last_name LIKE 'B%';*/
/*9. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² product_name (ΡΠ°Π±Π»ΠΈΡΠ° purchase),
ΠΏΡΠΎΠ΄Π°Π½Π½ΡΡ
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΠ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Π½Π° "Bβ*/
/*SELECT product_name
FROM purchase
JOIN person ON person_code = person_code
WHERE last_name NOT LIKE 'B%';*/
/*10.ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ ΠΈ Π΄Π°ΡΡ ΠΏΡΠΈΠ΅ΠΌΠ° Π½Π° ΡΠ°Π±ΠΎΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Π½Π° "Bβ ΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΈΠ½ΡΠ»ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΡ ΡΠ°Π½ΡΡΠ΅ 1 ΠΌΠ°ΡΡΠ° 2010 Π³ΠΎΠ΄Π°.*/
SELECT last_name, hiredate
FROM employees
WHERE last_name LIKE 'B%' AND hiredate < '2010-03-01';
/*11. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² product_name ΠΈ Π΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ
ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ laststockdate (ΡΠ°Π±Π»ΠΈΡΠ° product), Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ
Small Widget, Medium Widget ΠΈ
Large Widget ΠΈΠ»ΠΈ ΡΠ΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° Π΄Π°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ. ΠΡΡΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ
Π΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ*/
/*SELECT pproduct_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 purchase_archive;