
LeetCode ๋ผ๋ ์ฌ์ดํธ๊ฐ ์์ต๋๋ค.
https://leetcode.com/problemset/all/

์ฌ๋ฌ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ถํฐ ํ์ต ๋ฐ ์ธํฐ๋ทฐ๊น์ง ์ฌ๋ฌ ํ๋ก๊ทธ๋๋ฐ ๊ณต๋ถ๋ฅผ ํ ์ ์๋ ์ฌ์ดํธ์ ๋๋ค.
์ฌ๊ธฐ์ ์ ๋ SQL Study Plan ์ ๋งค์ผ ํ๋ฒ ํด๋ณผ๊น ํฉ๋๋ค.
๊ทธ๋ผ 1์ผ์ฐจ ์์ํด๋ณด๊ฒ ์ต๋๋ค.
https://leetcode.com/problems/big-countries/?envType=study-plan&id=sql-i

๋ฌธ์ ์์๋ ๋ฉด์ ์ด 3000000km2 ์ด์์ด๊ฑฐ๋ ์ธ๊ตฌ์๊ฐ 25000000๋ช
์ด์์ธ ๋๋ผ๋ฅผ big countries๋ก ์ ์ํฉ๋๋ค.
์ด๋ big countries๋ฅผ ์ฐพ์์ ์๋์ ๊ฐ์ด ์ถ๋ ฅํ๋ ๋ฌธ์ ์
๋๋ค.

SELECT
name, population, area
FROM
World
WHERE
area >= 3000000 OR population >= 25000000
;
WHERE์ ์ ๋ฌธ์ ์์ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ฃ์ด์ ์ด๋ ต์ง ์๊ฒ ํ์์ต๋๋ค.
https://leetcode.com/problems/recyclable-and-low-fat-products/?envType=study-plan&id=sql-i

๋ฌธ์ ์ ์กฐ๊ฑด์ low fat ์ด๋ฉด์ recyclable ํ ๋ฐ์ดํฐ๋ฅผ ์๋์ ๊ฐ์ด ๋ฝ์๋ด๋ผ๋ ๊ฒ์
๋๋ค.

SELECT
product_id
FROM
Products
WHERE
low_fats = 'Y' AND recyclable = 'Y'
;
๊ฐ๋จํ WHERE ์ ์ ์กฐ๊ฑด์ ๋ ๋ค ๋ฃ์ด์ฃผ์ด์ ํ์์ต๋๋ค.
https://leetcode.com/problems/find-customer-referee/?envType=study-plan&id=sql-i

์๋์ ๊ฐ์ด referee_id ๊ฐ 2๊ฐ ์๋ ์ฌ๋์ ์ด๋ฆ๋ง ์ถ๋ ฅํ๋ ๋ฌธ์ ์
๋๋ค.

SELECT
name
FROM
Customer
WHERE referee_id != 2 OR referee_id IS NULL
;
WHERE ์ ์ referee_id ๊ฐ 2๊ฐ ์๋๋ฉด์ NULL๊ฐ๋ ํฌํจํ๊ฒ๋ ์กฐ๊ฑด์ ์ถ๊ฐํ์ฌ ๋ฌธ์ ๋ฅผ ํ์์ต๋๋ค.
https://leetcode.com/problems/customers-who-never-order/?envType=study-plan&id=sql-i

Orders ํ
์ด๋ธ์ customerId๋ Customers ํ
์ด๋ธ์ foregin key ์
๋๋ค.
์ด๋ ์ฃผ๋ฌธํ์ง ์์(Orders ํ
์ด๋ธ์ customerId์ ๊ฐ์ด ์กด์ฌํ์ง ์๋) ์ฌ๋์ ์ถ๋ ฅํ๋ ๋ฌธ์ ์
๋๋ค.

SELECT
name AS "Customers"
FROM
Customers AS C
LEFT OUTER JOIN Orders AS O
ON C.id = O.customerId
WHERE O.customerId IS NULL
;
Customers ํ
์ด๋ธ๊ณผ Orders ํ
์ด๋ธ์ ์์๋๋ก LEFT OUTER JOIN ํ์ฌ ์ด๋ ์ฃผ๋ฌธํ์ง ์์ ์ฌ๋์ ์ถ์ถํด์ผ ํ๊ธฐ ๋๋ฌธ์, JOINํ ํ
์ด๋ธ์ customerId๊ฐ NULL๊ฐ์ธ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ํ์์ต๋๋ค.
์ด์์ผ๋ก 1์ผ์ฐจ ๊ณต๋ถ๋ฅผ ๊ฐ๋จํ ๋ง์ณ๋ณด์์ต๋๋ค.

๋ด์ผ์ 2์ผ์ฐจ๋ฅผ ํ๋ฒ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.