join 9

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

SQL ๊ณ ๋“์  Kit > GROUP BY > ๋ฌผ๊ณ ๊ธฐ ์ข…๋ฅ˜ ๋ณ„ ์žก์€ ์ˆ˜ ๊ตฌํ•˜๊ธฐ  ๋ฌผ๊ณ ๊ธฐ ์ข…๋ฅ˜ ๋ณ„ ์žก์€ ์ˆ˜ ๊ตฌํ•˜๊ธฐ Lv.2FISH_NAME_INFO์—์„œ ๋ฌผ๊ณ ๊ธฐ์˜ ์ข…๋ฅ˜ ๋ณ„ ๋ฌผ๊ณ ๊ธฐ์˜ ์ด๋ฆ„๊ณผ ์žก์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.๋ฌผ๊ณ ๊ธฐ์˜ ์ด๋ฆ„ ์ปฌ๋Ÿผ๋ช…์€ FISH_NAME, ์žก์€ ์ˆ˜ ์ปฌ๋Ÿผ๋ช…์€ FISH_COUNT๋กœ ํ•ด์ฃผ์„ธ์š”.๊ฒฐ๊ณผ๋Š” ์žก์€ ์ˆ˜ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.   ์ฒซ ๋ฒˆ์งธ ํ’€์ด :     100์ -- ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”SELECT COUNT(*) AS FISH_COUNT, B.FISH_NAMEFROM FISH_INFO AJOIN FISH_NAME_INFO BON A.FISH_TYPE = B.FISH_TYPEGROUP BY B.FISH_NAMEORDER BY FISH_COUNT DESCGROUP BY์— ..

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

SQL ๊ณ ๋“์  Kit > GROUP BY > ์กฐ๊ฑด์— ๋งž๋Š” ์‚ฌ์› ์ •๋ณด ์กฐํšŒํ•˜๊ธฐ  ์กฐ๊ฑด์— ๋งž๋Š” ์‚ฌ์› ์ •๋ณด ์กฐํšŒํ•˜๊ธฐ Lv.2HR_DEPARTMENT, HR_EMPLOYEES, HR_GRADE ํ…Œ์ด๋ธ”์—์„œ 2022๋…„๋„ ํ•œํ•ด ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ์‚ฌ์› ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. 2022๋…„๋„ ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ์‚ฌ์›๋“ค์˜ ์ ์ˆ˜, ์‚ฌ๋ฒˆ, ์„ฑ๋ช…, ์ง์ฑ…, ์ด๋ฉ”์ผ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.2022๋…„๋„์˜ ํ‰๊ฐ€ ์ ์ˆ˜๋Š” ์ƒ,ํ•˜๋ฐ˜๊ธฐ ์ ์ˆ˜์˜ ํ•ฉ์„ ์˜๋ฏธํ•˜๊ณ , ํ‰๊ฐ€ ์ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ปฌ๋Ÿผ์˜ ์ด๋ฆ„์€ SCORE๋กœ ํ•ด์ฃผ์„ธ์š”.  ์ฒซ ๋ฒˆ์งธ ํ’€์ด :     100์ -- ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”SELECT SUM(SCORE) AS SCORE, A.EMP_NO, A.EMP_NAME, A.POSITION, A.EMAILFROM HR_EMPLOYEE..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ํŠน์ • ๊ธฐ๊ฐ„๋™์•ˆ ๋Œ€์—ฌ ๊ฐ€๋Šฅํ•œ ์ž๋™์ฐจ๋“ค์˜ ๋Œ€์—ฌ๋น„์šฉ ๊ตฌํ•˜๊ธฐ (JOIN)

SQL ๊ณ ๋“์  Kit > JOIN > ํŠน์ • ๊ธฐ๊ฐ„๋™์•ˆ ๋Œ€์—ฌ ๊ฐ€๋Šฅํ•œ ์ž๋™์ฐจ๋“ค์˜ ๋Œ€์—ฌ๋น„์šฉ ๊ตฌํ•˜๊ธฐ  ํŠน์ • ๊ธฐ๊ฐ„๋™์•ˆ ๋Œ€์—ฌ ๊ฐ€๋Šฅํ•œ ์ž๋™์ฐจ๋“ค์˜ ๋Œ€์—ฌ๋น„์šฉ ๊ตฌํ•˜ Lv.4CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”๊ณผ CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ…Œ์ด๋ธ”๊ณผ CAR_RENTAL_COMPANY_DISCOUNT_PLAN ํ…Œ์ด๋ธ”์—์„œ ์ž๋™์ฐจ ์ข…๋ฅ˜๊ฐ€ '์„ธ๋‹จ' ๋˜๋Š” 'SUV' ์ธ ์ž๋™์ฐจ ์ค‘ 2022๋…„ 11์›” 1์ผ๋ถ€ํ„ฐ 2022๋…„ 11์›” 30์ผ๊นŒ์ง€ ๋Œ€์—ฌ ๊ฐ€๋Šฅํ•˜๊ณ  30์ผ๊ฐ„์˜ ๋Œ€์—ฌ ๊ธˆ์•ก์ด 50๋งŒ์› ์ด์ƒ 200๋งŒ์› ๋ฏธ๋งŒ์ธ ์ž๋™์ฐจ์— ๋Œ€ํ•ด์„œ ์ž๋™์ฐจ ID, ์ž๋™์ฐจ ์ข…๋ฅ˜, ๋Œ€์—ฌ ๊ธˆ์•ก(์ปฌ๋Ÿผ๋ช…: FEE) ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๋Œ€์—ฌ ๊ธˆ์•ก์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ , ๋Œ€์—ฌ ๊ธˆ์•ก์ด ๊ฐ™์€ ๊ฒฝ์šฐ ์ž๋™..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์ƒํ’ˆ ๋ณ„ ์˜คํ”„๋ผ์ธ ๋งค์ถœ ๊ตฌํ•˜๊ธฐ

SQL ๊ณ ๋“์  Kit > JOIN > ์ƒํ’ˆ ๋ณ„ ์˜คํ”„๋ผ์ธ ๋งค์ถœ ๊ตฌํ•˜๊ธฐ  ์ƒํ’ˆ ๋ณ„ ์˜คํ”„๋ผ์ธ ๋งค์ถœ ๊ตฌํ•˜๊ธฐ Lv.1PRODUCT ํ…Œ์ด๋ธ”๊ณผ OFFLINE_SALE ํ…Œ์ด๋ธ”์—์„œ ์ƒํ’ˆ์ฝ”๋“œ ๋ณ„ ๋งค์ถœ์•ก(ํŒ๋งค๊ฐ€ * ํŒ๋งค๋Ÿ‰) ํ•ฉ๊ณ„๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๋งค์ถœ์•ก์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ  ๋งค์ถœ์•ก์ด ๊ฐ™๋‹ค๋ฉด ์ƒํ’ˆ์ฝ”๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.   ์ฒซ ๋ฒˆ์งธ ํ’€์ด :     100์ -- ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”SELECT A.PRODUCT_CODE, SUM(A.PRICE * B.SALES_AMOUNT)AS SALESFROM PRODUCT AJOIN OFFLINE_SALE BON A.PRODUCT_ID = B.PRODUCT_IDGROUP BY B.PRODUCT_IDORDER BY SALES DESC, A.PRO..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ๋Œ“๊ธ€ ์กฐํšŒํ•˜๊ธฐ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ ๋“์  Kit > SELECT > ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ๋Œ“๊ธ€ ์กฐํšŒํ•˜๊ธฐ  ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ๋Œ“๊ธ€ ์กฐํšŒํ•˜๊ธฐ Lv.1USED_GOODS_BOARD์™€ USED_GOODS_REPLY ํ…Œ์ด๋ธ”์—์„œ 2022๋…„ 10์›”์— ์ž‘์„ฑ๋œ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ, ๊ฒŒ์‹œ๊ธ€ ID, ๋Œ“๊ธ€ ID, ๋Œ“๊ธ€ ์ž‘์„ฑ์ž ID, ๋Œ“๊ธ€ ๋‚ด์šฉ, ๋Œ“๊ธ€ ์ž‘์„ฑ์ผ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๋Œ“๊ธ€ ์ž‘์„ฑ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ , ๋Œ“๊ธ€ ์ž‘์„ฑ์ผ์ด ๊ฐ™๋‹ค๋ฉด ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.   ์ฒซ ๋ฒˆ์งธ ํ’€์ด :     100์ -- ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”SELECT A.TITLE, A.BOARD_ID, B.REPLY_ID, B.WRITER_ID, B.CONTENTS, DATE_FORMAT(B.CREATED_DATE, '%Y-%m-%..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์žˆ์—ˆ๋Š”๋ฐ์š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ ๋“์  Kit > JOIN > ์žˆ์—ˆ๋Š”๋ฐ์š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค  ์žˆ์—ˆ๋Š”๋ฐ์š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค Lv.3๊ด€๋ฆฌ์ž์˜ ์‹ค์ˆ˜๋กœ ์ผ๋ถ€ ๋™๋ฌผ์˜ ์ž…์–‘์ผ์ด ์ž˜๋ชป ์ž…๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ˜ธ ์‹œ์ž‘์ผ๋ณด๋‹ค ์ž…์–‘์ผ์ด ๋” ๋น ๋ฅธ ๋™๋ฌผ์˜ ์•„์ด๋””์™€ ์ด๋ฆ„์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๋ณดํ˜ธ ์‹œ์ž‘์ผ์ด ๋น ๋ฅธ ์ˆœ์œผ๋กœ ์กฐํšŒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.  ์ฒซ ๋ฒˆ์งธ ํ’€์ด :     100์ -- ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”SELECT A.ANIMAL_ID, A.NAMEFROM ANIMAL_INS A JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_IDWHERE A.DATETIME > B.DATETIMEORDER BY A.DATETIMEJOIN์„ ์ž˜ ์ทจํ•ด์ฃผ๋ฉด ๋จ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ์กฐ๊ฑด์— ๋งž๋Š” ๋„์„œ์™€ ์ €์ž ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅํ•˜๊ธฐ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ ๋“์  Kit > JOIN > ์กฐ๊ฑด์— ๋งž๋Š” ๋„์„œ์™€ ์ €์ž ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅํ•˜๊ธฐ ์กฐ๊ฑด์— ๋งž๋Š” ๋„์„œ์™€ ์ €์ž ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅํ•˜๊ธฐ Lv.2 '๊ฒฝ์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์— ์†ํ•˜๋Š” ๋„์„œ๋“ค์˜ ๋„์„œ ID(BOOK_ID), ์ €์ž๋ช…(AUTHOR_NAME), ์ถœํŒ์ผ(PUBLISHED_DATE) ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ์ถœํŒ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ์ฒซ ๋ฒˆ์งธ ํ’€์ด : 100์  -- ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” SELECT B.BOOK_ID, A.AUTHOR_NAME, DATE_FORMAT(B.PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE FROM BOOK B JOIN AUTHOR A ON B.AUTHOR_ID = A.AUTHOR_ID WHERE B.CATEGORY = '๊ฒฝ์ œ' ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | SQL] ROOT ์•„์ดํ…œ ๊ตฌํ•˜๊ธฐ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ ๋“์  Kit > IS NULL > ROOT ์•„์ดํ…œ ๊ตฌํ•˜๊ธฐ ROOT ์•„์ดํ…œ ๊ตฌํ•˜๊ธฐ Lv.2 ROOT ์•„์ดํ…œ์„ ์ฐพ์•„ ์•„์ดํ…œ ID(ITEM_ID), ์•„์ดํ…œ ๋ช…(ITEM_NAME)์„ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ์ด๋•Œ, ๊ฒฐ๊ณผ๋Š” ์•„์ดํ…œ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด ์ฃผ์„ธ์š”. ์ฒซ ๋ฒˆ์งธ ํ’€์ด : 100์  -- ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š” SELECT A.ITEM_ID, A.ITEM_NAME FROM ITEM_INFO A JOIN ITEM_TREE B ON A.ITEM_ID = B.ITEM_ID WHERE B.PARENT_ITEM_ID IS NULL ORDER BY A.ITEM_ID PARENT_ITEM_ID๊ฐ€ NULL์ธ ๊ฒƒ์„ ์ถœ๋ ฅ FROM __ JOIN __ ON __