๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

6๏ธโƒฃ SQL11

[MySQL] ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ SQL ๋ฌธ๋ฒ• DISTINCT ์ค‘๋ณต ์ œ๊ฑฐ SELECT DISTINCT NAME LIMIT ๊ฒฐ๊ณผ ๊ฐœ์ˆ˜ ์ œํ•œ (์ƒ์œ„ ๋ช‡ ๊ฐœ๋งŒ ์ถœ๋ ฅ) # ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ๋ถ€ํ„ฐ 3๊ฐœ ์ถœ๋ ฅ ORDER BY ID LIMIT 3 IN ๋’ค์— ์˜ค๋Š” ๋ฐ์ดํ„ฐ์— ํฌํ•จ๋˜๋Š”์ง€ ํŒ๋‹จ # IN WHERE ID IN (SELECT ID FROM ...) # NOT IN WHERE ID NOT IN (SELECT ID FROM ...) IS NULL null์ธ์ง€ ํŒ๋‹จ # IS NULL WHERE A.ID IS NULL # IS NOT NULL WHERE A.ID IS NOT NULL LIKE ๋’ค์— ์˜ค๋Š” ๋ฌธ์ž์—ด์— ํฌํ•จ๋˜๋Š”์ง€ ํŒ๋‹จ # ๋์ด AB๋กœ ๋๋‚˜๋Š” NAME ์ฐพ๊ธฐ WHERE NAME LIKE '%AB' # AB๋กœ ์‹œ์ž‘ํ•˜๋Š” NAME ์ฐพ๊ธฐ WHERE .. 2022. 2. 4.
[MySQL] INNER, OUTER JOIN ์ •๋ฆฌ (์„ค๋ช…์— ์“ฐ์ผ ํ…Œ์ด๋ธ” ์˜ˆ์‹œ) TABLE_A ID ALPHABET 1 abc 2 abcd 3 abcde TABLE_B ID NUM 2 10 3 20 4 30 ๐Ÿ“ INNER JOIN ๊ต์ง‘ํ•ฉ์„ ์˜๋ฏธํ•˜๊ณ , ๊ณตํ†ต ๋ถ€๋ถ„๋งŒ SELECT๋œ๋‹ค. SELECT A.ID, A.ALPHABET, A.NUM FROM TABLE_A AS A INNER JOIN TABLE_B AS B ON A.ID = B.ID ID ALPHABET NUM 2 abcd 10 3 abcde 20 ๐Ÿ“ LEFT OUTER JOIN (1) ๊ณตํ†ต ๋ถ€๋ถ„ ํฌํ•จ, ์กฐ์ธ ๊ธฐ์ค€ ์™ผ์ชฝ ํ…Œ์ด๋ธ”์˜ ์ „๋ถ€๋ฅผ SELECT ํ•œ๋‹ค. SELECT A.ID, A.ALPHABET, A.NUM FROM TABLE_A AS A LEFT OUTER JOIN TABLE_B AS B ON A.I.. 2022. 2. 3.
[MySQL] Programmers Lv.4 ์ „์ฒด ๋ฌธ์ œ ํ’€์ด ์šฐ์œ ์™€ ์š”๊ฑฐํŠธ๊ฐ€ ๋‹ด๊ธด ์žฅ๋ฐ”๊ตฌ๋‹ˆ SELECT DISTINCT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Milk' AND CART_ID IN ( SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Yogurt') ORDER BY CART_ID ๐Ÿ– DISTINCT ํ‚ค์›Œ๋“œ๋กœ ์ค‘๋ณต ์ œ๊ฑฐ ๊ฐ€๋Šฅ ๋ณดํ˜ธ์†Œ์—์„œ ์ค‘์„ฑํ™”ํ•œ ๋™๋ฌผ SELECT INS.ANIMAL_ID, INS.ANIMAL_TYPE, INS.NAME FROM ANIMAL_INS AS INS JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.SEX_UPON_INTAKE != OUTS.SEX_UPON_OUTCOME ORDER B.. 2022. 2. 2.
[MySQL] Programmers Lv.3 ์ „์ฒด ๋ฌธ์ œ ํ’€์ด ์—†์–ด์ง„ ๊ธฐ๋ก ์ฐพ๊ธฐ -- join ๋ฏธ์‚ฌ์šฉ SELECT ANIMAL_ID, NAME FROM ANIMAL_OUTS WHERE ANIMAL_ID NOT IN ( SELECT ANIMAL_ID FROM ANIMAL_INS) -- join ์‚ฌ์šฉ SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS AS OUTS LEFT OUTER JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY OUTS.ANIMAL_ID ๐Ÿ– JOIN ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ฐ ํ…Œ์ด๋ธ”์— ์ด๋ฆ„ ๋ถ™์—ฌ์„œ ์จ์ฃผ๊ณ , ON์œผ๋กœ ์™ธ๋ž˜ํ‚ค ๋งž์ถฐ์ฃผ๊ธฐ ๐Ÿ– OUTER JOIN ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋กœ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ (h.. 2022. 2. 2.
[MySQL] Programmers Lv.2 ์ „์ฒด ๋ฌธ์ œ ํ’€์ด ๊ณ ์–‘์ด์™€ ๊ฐœ๋Š” ๋ช‡ ๋งˆ๋ฆฌ ์žˆ์„๊นŒ SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS "count" FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE ์ตœ์†Ÿ๊ฐ’ ๊ตฌํ•˜๊ธฐ SELECT MIN(DATETIME) AS "์‹œ๊ฐ„" FROM ANIMAL_INS ์ด๋ฆ„์— el์ด ๋“ค์–ด๊ฐ€๋Š” ๋™๋ฌผ ์ฐพ๊ธฐ SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME LIKE "%el%" AND ANIMAL_TYPE = "Dog" ORDER BY NAME ๐Ÿ– LIKE๋Š” ๋ฌธ์ž์—ด์˜ ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ์—ญํ•  ๐Ÿ– SQL์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์Œ ์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ(1) SELECT HOUR(DATETIME) AS "HOUR", COUN.. 2022. 2. 2.