-- CREATE TABLE A(
-- ID SERIAL PRIMARY KEY,
-- LastName VARCHAR(20)
-- );
-- INSERT INTO A (LastName)
-- VALUES
-- ('ΠΠ²Π°Π½ΠΎΠ²'),
-- ('ΠΠ΅ΡΡΠΎΠ²'),
-- ('Π‘ΠΈΠ΄ΠΎΠ²ΠΎΠ²');
-- select * from A;
-- CREATE TABLE B(
-- ID INT PRIMARY KEY,
-- Age INT
-- );
-- INSERT INTO B (ID, Age)
-- VALUES
-- (1, 45),
-- (2, 27),
-- (3, 32);
-- SELECT * FROM B;
-- -- 1.ΠΡΠ³ΡΡΠ·ΠΈΡΠ΅ ΡΠ°ΠΌΠΈΠ»ΠΈΡ ΠΈ Π²ΠΎΠ·ΡΠ°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ JOIN, ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ°Π±Π»ΠΈΡ:
-- SELECT
-- a.LastName,
-- b.Age
-- FROM
-- A
-- JOIN
-- B b ON a.ID = b.ID;
-- -- 2.Π ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ΅ΠΉΡΡ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΡ 1, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°
-- SELECT
-- a.LastName,
-- b.Age
-- FROM
-- A a
-- JOIN
-- B b ON a.ID = b.ID
-- ORDER BY
-- b.Age ASC
-- LIMIT 1;
-- Π’Π°Π±Π»ΠΈΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²
-- CREATE TABLE A (
-- ID INT PRIMARY KEY,
-- Client VARCHAR(50)
-- );
-- INSERT INTO A (ID, Client) VALUES
-- (1, 'Bank 1'),
-- (2, 'Bank 2'),
-- (3, 'Bank 3'),
-- (4, 'Bank 4'),
-- (5, 'Bank 5'),
-- (6, 'Bank 6');
-- SELECT * FROM A;
-- -- Π’Π°Π±Π»ΠΈΡΠ° ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ
-- CREATE TABLE B(
-- ID INT,
-- Payment INT
-- );
-- INSERT INTO B (ID, Payment) VALUES
-- (1, 3000),
-- (2, 1000),
-- (2, 5000),
-- (3, 2500),
-- (5, 2000),
-- (5, 1500);
-- SELECT * FROM B;
-- -- Π’Π°Π±Π»ΠΈΡΠ° Π·Π°ΠΊΡΡΡΠΈΡ ΡΡΠ΅ΡΠΎΠ²
-- CREATE TABLE C (
-- ID INT,
-- End_date DATE
-- );
-- INSERT INTO C (ID, End_date) VALUES
-- (1, NULL),
-- (2, '2016-05-21'),
-- (3, '2002-01-11'),
-- (4, NULL),
-- (5, NULL),
-- (6, '2008-03-01');
-- SELECT * FROM C;
-- -- 3.ΠΡΠ³ΡΡΠ·ΠΈΡΠ΅ ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΡΠΌΠΌΡ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ ΠΏΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ,
-- -- ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΊΡΡΠ»ΠΈ ΡΠ²ΠΎΠΈ ΡΡΠ΅ΡΠ°:
-- SELECT
-- a.Client,
-- (SUM(b.Payment)) AS Total_Paymants
-- FROM
-- A a
-- JOIN
-- B b ON a.ID = b.ID
-- JOIN
-- C c ON a.ID = c.ID
-- WHERE
-- c.End_date IS NOT NULL
-- GROUP BY
-- a.Client;
-- -- 4.ΠΡΠ³ΡΡΠ·ΠΈΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
-- SELECT
-- a.Client,
-- (SUM(b.Payment)) AS Total_paymants
-- FROM
-- A a
-- JOIN
-- B b ON a.ID = b.ID
-- GROUP BY
-- a.Client
-- ORDER BY
-- a.Client ASC;
-- CREATE TABLE A (
-- ID INT PRIMARY KEY,
-- Client VARCHAR(50)
-- );
-- INSERT INTO A (ID, Client)
-- VALUES
-- (1, 'Bank 1'),
-- (2, 'Bank 2'),
-- (4, 'Bank 4'),
-- (6, 'Bank 6');
-- SELECT * FROM A;
-- CREATE TABLE B (
-- ID INT PRIMARY KEY,
-- Payments INT
-- );
-- INSERT INTO B (ID, Payments)
-- VALUES
-- (1, 3000),
-- (2, 1000),
-- (3, 2000),
-- (4, 4000),
-- (5, 5000);
-- SELECT * FROM B;
-- SELECT A.Client, B.Payments FROM A LEFT JOIN B ON A.ID=B.ID
-- SELECT A.Client, B.Payments FROM A RIGHT JOIN B ON A.ID=B.ID
-- SELECT A.Client, B.Payments FROM A INNER JOIN B ON A.ID=B.ID
-- SELECT A.Client, B.Payments FROM A FULL JOIN B ON A.ID=B.ID
-- CREATE TABLE A (
-- ID SERIAL PRIMARY KEY,
-- Client VARCHAR(50)
-- );
-- INSERT INTO A (Client)
-- VALUES
-- ('Bank 1'),
-- ('Bank 2'),
-- ('Bank 3'),
-- ('Bank 4'),
-- ('Bank 5'),
-- ('Bank 6');
-- SELECT * FROM A;
-- CREATE TABLE B (
-- ID INT,
-- Pay_id INT,
-- Payments INT
-- );
-- INSERT INTO B (ID, Pay_id, Payments)
-- VALUES
-- (1, 1, 3000),
-- (1, 3, 1000),
-- (2, 4, 5000),
-- (3, 5, 2500),
-- (2, 7, 2000),
-- (5, 2, 1500);
-- SELECT * FROM B;
-- CREATE TABLE E (
-- Pay_id INT,
-- Purpose TEXT
-- );
-- INSERT INTO E (Pay_id, Purpose)
-- VALUES
-- (1, 'ΠΠΎΠ³Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ β346859'),
-- (2, 'Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Π½Π° ΠΎΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΡΠ»ΡΠ³ β8'),
-- (3, 'ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΎΠΏΠ»Π°ΡΠ° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°'),
-- (4, 'Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΠΈ β15699'),
-- (5, 'ΠΏΠΎΠ³Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΠΎΠ³ΠΎΠ²ΠΎΡΡ β7456426'),
-- (7, 'ΠΏΠΎΠ³Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ β49516426');
-- SELECT * FROM E;
-- -- 6. ΠΡΠ³ΡΡΠ·ΠΈΡΠ΅ ΡΡΠΌΠΌΡ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ ΠΏΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ,
-- -- Π³Π΄Π΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΠ΅ΠΆΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π° Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΒ»
-- SELECT
-- a.Client,
-- (SUM(b.Payments)) AS Total_payments,
-- e.Purpose
-- FROM
-- A a
-- JOIN
-- B b ON a.ID = b.ID
-- JOIN
-- E e ON e.Pay_id = b.Pay_id
-- WHERE
-- e.Purpose LIKE 'Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ%'
-- GROUP BY
-- a.Client, e.Purpose;
CREATE TABLE PHONES (
ID INT PRIMARY KEY,
CREATED TIMESTAMP,
NUMBER VARCHAR(20),
DEBTOR_ID INT,
BLOCK_FLG CHAR(1) CHECK(BLOCK_FLG IN ('Y', 'N'))
);
INSERT INTO PHONES (ID, CREATED, NUMBER, DEBTOR_ID, BLOCK_FLG)
VALUES
(1, '2024-01-01', '1111111111', 101, 'Y'),
(2, '2024-01-02', '2222222222', 102, 'N'),
(3, '2024-01-03', '3333333333', 103, 'Y');
SELECT * FROM PHONES;
CREATE TABLE ACTIONS (
ID INT PRIMARY KEY,
CREATED TIMESTAMP,
WHOM_CONTACT TEXT,
RESULT TEXT,
PHONT_NUM VARCHAR(20),
ASSET_ID INT,
DEBTOR_ID INT
);
INSERT INTO ACTIONS (ID, CREATED, WHOM_CONTACT, RESULT, PHONE_NUM, ASSET_ID, DEBTOR_ID)
VALUES
(100, '2024-02-01 10:00', 'X', 'ΠΠΎΠ»ΠΆΠ½ΠΈΠΊ Π»ΠΈΡΠ½ΠΎ', '1111111111', 10, 101),
(101, '2024-02-02 10:00', 'X', 'ΠΠΎΠ»ΠΆΠ½ΠΈΠΊ Π»ΠΈΡΠ½ΠΎ', '1111111111', 10, 101),
(102, '2024-02-03 10:00', 'X', 'ΠΠΎΠ»ΠΆΠ½ΠΈΠΊ Π»ΠΈΡΠ½ΠΎ', '1111111111', 10, 101),
(103, '2024-02-04 10:00', 'X', 'ΠΠΎΠ»ΠΆΠ½ΠΈΠΊ Π»ΠΈΡΠ½ΠΎ', '1111111111', 10, 101),
(104, '2024-02-05 10:00', 'X', 'ΠΠ΅Π΄ΠΎΠ·Π²ΠΎΠ½', '3333333333', 12, 103);
SELECT * FROM ACTIONS;
CREATE TABLE ASSET (
ID INT PRIMARY KEY,
CREATED TIMESTAMP,
ASSET_NUM VARCHAR(50),
DEBTOR_ID INT,
REGESTRY_ID INT
);
INSERT INTO ASSET (ID, CREATED, ASSET_NUM, DEBTOR_ID, REGESTRY_ID) VALUES
(10, '2023-12-01', 'D-101', 101, 1),
(11, '2023-12-02', 'D-102', 102, 2),
(12, '2023-12-03', 'D-103', 103, 3);
SELECT * FROM ASSET;