SQL 23

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ๋Œ€์—ฌ ํšŸ์ˆ˜๊ฐ€ ๋งŽ์€ ์ž๋™์ฐจ๋“ค์˜ ์›”๋ณ„ ๋Œ€์—ฌ ํšŸ์ˆ˜ ๊ตฌํ•˜๊ธฐ

SQL ๊ณ ๋“์  Kit > GROUP BY > ๋Œ€์—ฌ ํšŸ์ˆ˜๊ฐ€ ๋งŽ์€ ์ž๋™์ฐจ๋“ค์˜ ์›”๋ณ„ ๋Œ€์—ฌ ํšŸ์ˆ˜ ๊ตฌํ•˜๊ธฐ  ๋Œ€์—ฌ ํšŸ์ˆ˜๊ฐ€ ๋งŽ์€ ์ž๋™์ฐจ๋“ค์˜ ์›”๋ณ„ ๋Œ€์—ฌ ํšŸ์ˆ˜ ๊ตฌํ•˜๊ธฐ Lv.3CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ…Œ์ด๋ธ”์—์„œ ๋Œ€์—ฌ ์‹œ์ž‘์ผ์„ ๊ธฐ์ค€์œผ๋กœ 2022๋…„ 8์›”๋ถ€ํ„ฐ 2022๋…„ 10์›”๊นŒ์ง€ ์ด ๋Œ€์—ฌ ํšŸ์ˆ˜๊ฐ€ 5ํšŒ ์ด์ƒ์ธ ์ž๋™์ฐจ๋“ค์— ๋Œ€ํ•ด์„œ ํ•ด๋‹น ๊ธฐ๊ฐ„ ๋™์•ˆ์˜ ์›”๋ณ„ ์ž๋™์ฐจ ID ๋ณ„ ์ด ๋Œ€์—ฌ ํšŸ์ˆ˜(์ปฌ๋Ÿผ๋ช…: RECORDS) ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ์›”์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ , ์›”์ด ๊ฐ™๋‹ค๋ฉด ์ž๋™์ฐจ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํŠน์ • ์›”์˜ ์ด ๋Œ€์—ฌ ํšŸ์ˆ˜๊ฐ€ 0์ธ ๊ฒฝ์šฐ์—๋Š” ๊ฒฐ๊ณผ์—์„œ ์ œ์™ธํ•ด์ฃผ์„ธ์š”.   ์ฒซ ๋ฒˆ์งธ ํ’€์ด :     100์ -- ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”SELECT MONTH(STA..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ(2)

SQL ๊ณ ๋“์  Kit > GROUP BY > ์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ(2)  ์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜(2)๊ธฐ Lv.4๋ณดํ˜ธ์†Œ์—์„œ๋Š” ๋ช‡ ์‹œ์— ์ž…์–‘์ด ๊ฐ€์žฅ ํ™œ๋ฐœํ•˜๊ฒŒ ์ผ์–ด๋‚˜๋Š”์ง€ ์•Œ์•„๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. 0์‹œ๋ถ€ํ„ฐ 23์‹œ๊นŒ์ง€, ๊ฐ ์‹œ๊ฐ„๋Œ€๋ณ„๋กœ ์ž…์–‘์ด ๋ช‡ ๊ฑด์ด๋‚˜ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ์‹œ๊ฐ„๋Œ€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.   ์ฒซ ๋ฒˆ์งธ ํ’€์ด :     0์ SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNTFROM ANIMAL_OUTSORDER BY HOURHOUR์ด 7~19๋งŒ ๋‚˜์™€ ์˜ค๋‹ต์ฒ˜๋ฆฌHOUR์ด 0~23์œผ๋กœ ๋‚˜์™€์•ผ     ๋‘ ๋ฒˆ์งธ ํ’€์ด:     100์ SET @HOUR = -1;SELECT (@HOUR :=@HOUR + 1) AS HOUR, (SELECT COUN..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ๋‚˜์ด ์ •๋ณด๊ฐ€ ์—†๋Š” ํšŒ์› ์ˆ˜ ๊ตฌํ•˜๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > IS NULL > ๋‚˜์ด ์ •๋ณด๊ฐ€ ์—†๋Š” ํšŒ์› ์ˆ˜ ๊ตฌํ•˜๊ธฐ Lv.1 ๋‚˜์ด ์ •๋ณด๊ฐ€ ์—†๋Š” ํšŒ์› ์ˆ˜ ๊ตฌํ•˜๊ธฐ USER_INFO ํ…Œ์ด๋ธ”์—์„œ ๋‚˜์ด ์ •๋ณด๊ฐ€ ์—†๋Š” ํšŒ์›์ด ๋ช‡ ๋ช…์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ปฌ๋Ÿผ๋ช…์€ USERS๋กœ ์ง€์ •ํ•ด์ฃผ์„ธ์š”. ์ฒซ ๋ฒˆ์งธ ํ’€์ด : 100์  -- ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” SELECT COUNT(*) AS USERS FROM USER_INFO WHERE AGE IS NULL IS NULL ์‚ฌ์šฉ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ํ‰๊ท  ๊ธธ์ด ๊ตฌํ•˜๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > IS NULL > ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ํ‰๊ท  ๊ธธ์ด ๊ตฌํ•˜๊ธฐ ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ํ‰๊ท  ๊ธธ์ด ๊ตฌํ•˜๊ธฐ Lv.1 ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ํ‰๊ท  ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ํ‰๊ท  ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ปฌ๋Ÿผ ๋ช…์€ AVERAGE_LENGTH๋กœ ํ•ด์ฃผ์„ธ์š”.ํ‰๊ท  ๊ธธ์ด๋Š” ์†Œ์ˆ˜์  3์งธ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋ฉฐ, 10cm ์ดํ•˜์˜ ๋ฌผ๊ณ ๊ธฐ๋“ค์€ 10cm ๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ํ‰๊ท  ๊ธธ์ด๋ฅผ ๊ตฌํ•ด์ฃผ์„ธ์š”. ์ฒซ ๋ฒˆ์งธ ํ’€์ด : 100์  SELECT ROUND(AVG(CASE WHEN LENGTH IS NULL THEN 10 ELSE LENGTH END),2) AS AVERAGE_LENGTH FROM FISH_INFO CASE WHEN ____ THEN _____ ELSE ____ END ๋‘ ๋ฒˆ์งธ ํ’€์ด: 100์  SELECT ROUND(AVG(IFNULL(L..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์ด๋ฆ„์ด ์—†๋Š” ๋™๋ฌผ์˜ ์•„์ด๋””

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > IS NULL > ์ด๋ฆ„์ด ์—†๋Š” ๋™๋ฌผ์˜ ์•„์ด๋”” ์ด๋ฆ„์ด ์—†๋Š” ๋™๋ฌผ์˜ ์•„์ด Lv.1 ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ ์ค‘, ์ด๋ฆ„์ด ์—†๋Š” ์ฑ„๋กœ ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ID๋ฅผ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๋‹จ, ID๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํ’€์ด : 100์  SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID IS NULL ํ™œ์šฉ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ๊ฒฝ๊ธฐ๋„์— ์œ„์น˜ํ•œ ์‹ํ’ˆ์ฐฝ๊ณ  ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > IS NULL > ๊ฒฝ๊ธฐ๋„์— ์œ„์น˜ํ•œ ์‹ํ’ˆ์ฐฝ๊ณ  ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ ๊ฒฝ๊ธฐ๋„์— ์œ„์น˜ํ•œ ์‹ํ’ˆ์ฐฝ๊ณ  ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ Lv.1 FOOD_WAREHOUSE ํ…Œ์ด๋ธ”์—์„œ ๊ฒฝ๊ธฐ๋„์— ์œ„์น˜ํ•œ ์ฐฝ๊ณ ์˜ ID, ์ด๋ฆ„, ์ฃผ์†Œ, ๋ƒ‰๋™์‹œ์„ค ์—ฌ๋ถ€๋ฅผ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๋ƒ‰๋™์‹œ์„ค ์—ฌ๋ถ€๊ฐ€ NULL์ธ ๊ฒฝ์šฐ, 'N'์œผ๋กœ ์ถœ๋ ฅ์‹œ์ผœ ์ฃผ์‹œ๊ณ  ๊ฒฐ๊ณผ๋Š” ์ฐฝ๊ณ  ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ์ฒซ ๋ฒˆ์งธ ํ’€์ด : 100์  SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IF(FREEZER_YN IS NULL, 'N', FREEZER_YN) AS FREEZER_YN FROM FOOD_WAREHOUSE WHERE ADDRESS LIKE '๊ฒฝ๊ธฐ๋„%' ORDER BY WAREHOUSE_ID LIKE ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์—ฐ๋„๋ณ„ ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ ๊ตฌํ•˜๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > SUM, MAX, MIN > ์—ฐ๋„๋ณ„ ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ ๊ตฌํ•˜๊ธฐ ์—ฐ๋„๋ณ„ ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ ๊ตฌํ•˜๊ธฐ Lv.2 ๋Œ€์žฅ๊ท ๋“ค์€ ์ผ์ • ์ฃผ๊ธฐ๋กœ ๋ถ„ํ™”ํ•˜๋ฉฐ, ๋ถ„ํ™”๋ฅผ ์‹œ์ž‘ํ•œ ๊ฐœ์ฒด๋ฅผ ๋ถ€๋ชจ ๊ฐœ์ฒด, ๋ถ„ํ™”๊ฐ€ ๋˜์–ด ๋‚˜์˜จ ๊ฐœ์ฒด๋ฅผ ์ž์‹ ๊ฐœ์ฒด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์‹คํ—˜์‹ค์—์„œ ๋ฐฐ์–‘ํ•œ ๋Œ€์žฅ๊ท ๋“ค์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ECOLI_DATA ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ECOLI_DATA ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, ID, PARENT_ID, SIZE_OF_COLONY, DIFFERENTIATION_DATE, GENOTYPE ์€ ๊ฐ๊ฐ ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ID, ๋ถ€๋ชจ ๊ฐœ์ฒด์˜ ID, ๊ฐœ์ฒด์˜ ํฌ๊ธฐ, ๋ถ„ํ™”๋˜์–ด ๋‚˜์˜จ ๋‚ ์งœ, ๊ฐœ์ฒด์˜ ํ˜•์งˆ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ตœ์ดˆ์˜ ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ PARENT_ID ๋Š” NULL ๊ฐ’์ž…๋‹ˆ๋‹ค. ๋ถ„ํ™”๋œ ์—ฐ๋„(YEAR), ๋ถ„ํ™”๋œ ์—ฐ๋„๋ณ„ ๋Œ€์žฅ๊ท  ํฌ๊ธฐ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์˜ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > SUM, MAX, MIN > ์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์˜ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ ์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์˜ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ Lv.1 [๋ฌธ์ œ์„ค๋ช…] ๋‚š์‹œ์•ฑ์—์„œ ์‚ฌ์šฉํ•˜๋Š” FISH_INFO ํ…Œ์ด๋ธ”์€ ์žก์€ ๋ฌผ๊ณ ๊ธฐ๋“ค์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. FISH_INFO ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ ID, FISH_TYPE, LENGTH, TIME์€ ๊ฐ๊ฐ ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ID, ๋ฌผ๊ณ ๊ธฐ์˜ ์ข…๋ฅ˜(์ˆซ์ž), ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ๊ธธ์ด(cm), ๋ฌผ๊ณ ๊ธฐ๋ฅผ ์žก์€ ๋‚ ์งœ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋‹จ, ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ๊ธธ์ด๊ฐ€ 10cm ์ดํ•˜์ผ ๊ฒฝ์šฐ์—๋Š” LENGTH๊ฐ€ NULL ์ด๋ฉฐ, LENGTH ์— NULL ๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค. [๋ฌธ์ œ] FISH_INFO ํ…Œ์ด๋ธ”์—์„œ ์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ์˜ ๊ธธ์ด๋ฅผ 'cm' ๋ฅผ ๋ถ™์—ฌ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ๊ฐ•์›๋„์— ์œ„์น˜ํ•œ ์ƒ์‚ฐ๊ณต์žฅ ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > SLELECT > ๊ฐ•์›๋„์— ์œ„์น˜ํ•œ ์ƒ์‚ฐ๊ณต์žฅ ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ ๊ฐ•์›๋„์— ์œ„์น˜ํ•œ ์ƒ์‚ฐ๊ณต์žฅ ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ Lv.1 FOOD_FACTORY ํ…Œ์ด๋ธ”์—์„œ ๊ฐ•์›๋„์— ์œ„์น˜ํ•œ ์‹ํ’ˆ๊ณต์žฅ์˜ ๊ณต์žฅ ID, ๊ณต์žฅ ์ด๋ฆ„, ์ฃผ์†Œ๋ฅผ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๊ณต์žฅ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ์ฒซ ๋ฒˆ์งธ ํ’€์ด : 100์  SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '%๊ฐ•์›๋„%' ORDER BY FACTORY_ID ASC; '%๊ฐ•์›๋„%'๋กœ ๊ฐ•์›๋„๋ฅผ ํฌํ•จํ•˜๊ฒŒ '__A_B__C'๋Š” ์ž๋ฆฌ๋ฅผ ์ •ํ•ด์„œ ์ฐพ์Œ.

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์ด๋ฆ„์ด ์žˆ๋Š” ๋™๋ฌผ์˜ ์•„์ด๋””

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > IS NULL > ์ด๋ฆ„์ด ์žˆ๋Š” ๋™๋ฌผ์˜ ์•„์ด๋”” ์ด๋ฆ„์ด ์žˆ๋Š” ๋™๋ฌผ์˜ ์•„์ด๋”” Lv.1 ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ ์ค‘, ์ด๋ฆ„์ด ์žˆ๋Š” ๋™๋ฌผ์˜ ID๋ฅผ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๋‹จ, ID๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํ’€์ด : 86.7์  SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID ASC;