๐Ÿ““ STUDY/FASTCAMPUS

ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 23์ผ์ฐจ

JuneBee 2021. 11. 23. 20:41
728x90
๋ฐ˜์‘ํ˜•

์‹œ์ฒญ ๊ฐ•์˜: SQL(2)
์‹œ์ฒญ ๋‚ ์งœ : 11/23/2021

์š”์ฆ˜ SQL ์“ธ์ผ์ด ๊ฝค ์žˆ๋Š”๋ฐ, ๋งˆ์นจ SQL ๊ฐ•์ขŒ๊ฐ€ ์žˆ๊ธธ๋ž˜ ๋งˆ์ € ๋“ค์–ด๋ณด์•˜๋‹ค.

์ˆœ์œ„์ง‘๊ณ„

RANK() OVER (
    PARTITION BY <expression>[{,<expression>...}]
    ORDER BY <expression> [ASC|DESC], [{,<expression>...}]
)

1. Rank

SELECT RANK() OVER(PARTITION BY [๊ทธ๋ฃนํ•  ์ปฌ๋Ÿผ๋“ค] ORDER BY [์ˆœ์œ„๋ฅผ ๋งค๊ธธ๋•Œ ์‚ฌ์šฉํ•  ์ปฌ๋Ÿผ๋“ค]) 
FROM [ํ…Œ์ด๋ธ”1]

2. DENSE_RANK

SELECT DENSE_RANK() OVER (PARTITION BY[๊ทธ๋ฃนํ•  ์ปฌ๋Ÿผ๋“ค] ORDER BY [์ˆœ์œ„๋ฅผ ๋งค๊ธธ ๋•Œ ์‚ฌ์šฉํ•  ์ปฌ๋Ÿผ๋“ค])
FROM [ํ…Œ์ด๋ธ”1]

3. ROW_NUMBER

    SELECT ROW_NUMBER() OVER (PARTITION BY[๊ทธ๋ฃนํ•  ์ปฌ๋Ÿผ๋“ค] ORDER BY [์ˆœ์œ„๋ฅผ ๋งค๊ธธ ๋•Œ ์‚ฌ์šฉํ•  ์ปฌ๋Ÿผ๋“ค])
    FROM [ํ…Œ์ด๋ธ”1]

https://www.mysqltutorial.org/mysql-window-functions/mysql-rank-function/
์œ„ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋“ค์–ด๊ฐ€๋ฉด ํŠœํ† ๋ฆฌ์–ผ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

JOIN

JOIN์—๋Š” LEFT, OUTER, INNER, SELF ์กฐ์ธ์ด ์žˆ๋‹ค.
์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ๋ดค์„ ๋•Œ,

CREATE TABLE members (
    member_id INT AUTO_INCREMENT,
    name VARCHAR(100),
    PRIMARY KEY (member_id)
);

CREATE TABLE committees (
    committee_id INT AUTO_INCREMENT,
    name VARCHAR(100),
    PRIMARY KEY (committee_id)
);

INNER JOIN

SELECT 
    productCode, 
    productName, 
    textDescription
FROM
    products t1
INNER JOIN productlines t2 
    ON t1.productline = t2.productline;

LEFT JOIN

SELECT 
    customers.customerNumber, 
    customerName, 
    orderNumber, 
    status
FROM
    customers
LEFT JOIN orders ON 
    orders.customerNumber = customers.customerNumber;

RIGHT JOIN

SELECT 
    employeeNumber, 
    customerNumber
FROM
    customers
RIGHT JOIN employees 
    ON salesRepEmployeeNumber = employeeNumber
ORDER BY 
	employeeNumber;

CROSS JOIN

CREATE TABLE products (
    id INT PRIMARY KEY AUTO_INCREMENT,
    product_name VARCHAR(100),
    price DECIMAL(13,2 )
);

CREATE TABLE stores (
    id INT PRIMARY KEY AUTO_INCREMENT,
    store_name VARCHAR(100)
);

CREATE TABLE sales (
    product_id INT,
    store_id INT,
    quantity DECIMAL(13 , 2 ) NOT NULL,
    sales_date DATE NOT NULL,
    PRIMARY KEY (product_id , store_id),
    FOREIGN KEY (product_id)
        REFERENCES products (id)
        ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (store_id)
        REFERENCES stores (id)
        ON DELETE CASCADE ON UPDATE CASCADE
);

ํŒจ์ŠคํŠธ์บ ํผ์Šค ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ ๋ฐ”๋กœ๊ฐ€๊ธฐ๐Ÿ‘‰ https://bit.ly/3FVdhDa

 

์ˆ˜๊ฐ•๋ฃŒ 100% ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ | ํŒจ์ŠคํŠธ์บ ํผ์Šค

๋”ฑ 5์ผ๊ฐ„ ์ง„ํ–‰๋˜๋Š” ํ™˜๊ธ‰์ฑŒ๋ฆฐ์ง€๋กœ ์ˆ˜๊ฐ•๋ฃŒ 100% ํ™˜๊ธ‰๋ฐ›์œผ์„ธ์š”! ๋” ๋Šฆ๊ธฐ์ „์— ์ž๊ธฐ๊ณ„๋ฐœ ๋ง‰์ฐจ ํƒ‘์Šน!

fastcampus.co.kr

๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ ์ฐธ์—ฌ๋ฅผ ์œ„ํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•