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

Study_note(zb_data)/SQL

์Šคํ„ฐ๋”” ๋…ธํŠธ (SQL ๊ธฐ์ดˆ 3)

๐Ÿ“Œ UNION

  • ์—ฌ๋Ÿฌ๊ฐœ์˜ SQL๋ฌธ์„ ํ•ฉ์ณ์„œ ํ•˜๋‚˜์˜ SQL ๋ฌธ์œผ๋กœ ๋งŒ๋“ค์–ด ์คŒ
  • ์ปฌ๋Ÿผ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋™์ผํ•ด์•ผ ํ•จ
SELECT column1, column2, ... from tableA
UNION | UNION ALL # union ์ค‘๋ณต๋œ ๊ฐ’ ์ œ๊ฑฐ ํ›„ ์ถœ๋ ฅ, union all ์ค‘๋ณต๋œ ๊ฐ’ ๋ชจ๋‘ ์ถœ๋ ฅ
SELECT column1, column2, ... from tableB;

union all๋กœ ์ค‘๋ณต๋œ ๊ฐ’๋„ ๊ฐ™์ด ์ถœ๋ ฅ

๐Ÿ“Œ JOIN

  • ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์„ ๊ฒฐํ•ฉํ•˜๋Š” ๊ฒƒ
  • ๋‘ ๊ฐœ ์ด์ƒ ํ…Œ์ด๋ธ” ์‚ฌ์šฉ ์‹œ, ๋™์ผ ์ปฌ๋Ÿผ๋ช…์ด ์กด์žฌ ํ•˜๋ฉด ํ…Œ์ด๋ธ”๊ณผ ์ปฌ๋Ÿผ์„ ์ œ๋Œ€๋กœ ๋ช…์‹œํ•ด์ค˜์•ผ ํ•จ

์ถœ์ฒ˜ : ์ œ๋กœ๋ฒ ์ด์Šค ๋ฐ์ดํ„ฐ ์Šค์ฟจ

๐Ÿงท INNER JOIN = ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์—์„œ ๊ณตํ†ต๋œ ์š”์†Œ๋“ค์„ ํ†ตํ•ด ๊ฒฐํ•ฉ (๊ต์ง‘ํ•ฉ)

select column1, column2, ...
from table_A
INNER JOIN table_B
on table_A.column = table_B.column
where condition;

๐Ÿงท LEFT JOIN

select column1, column2, ...
from table_A
left JOIN table_B
on table_A.column = table_B.column
where condition;

๐Ÿงท RIGHT JOIN

select column1, column2, ...
from table_A
RIGHT JOIN table_B
on table_A.column = table_B.column
where condition;

๐Ÿงท FULL OUTER JOIN (MYSQL์—์„œ๋Š” ์ง€์›ํ•˜์ง€ X)

SELECT column1, column2, ...
FROM tableA
LEFT JOIN tableB on table_A.column = tableB.column
union # FULL OUTER JOIN ๋Œ€์‹ , union์„ ํ™œ์šฉํ•จ
SELECT column1, column2, ...
FROM tableA
RIGHT JOIN tableB on table_A.column = tableB.column
WHERE condition;

๐Ÿงท SELF JOIN (INNER JOIN๊ณผ ๋น„์Šทํ•œ ๊ฐœ๋…)

select column1, column2, ...
from tableA, tableB, ...
where condition;

๐Ÿ“Œ CONCAT

  • ์—ฌ๋Ÿฌ ๋ฌธ์ž์—ด์„ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ
select concat('string1', 'string2'...)

๐Ÿ“Œ ALIAS (AS)

  • ์ปฌ๋Ÿผ์ด๋‚˜ ํ…Œ์ด๋ธ” ์ด๋ฆ„์— ๋ณ„์นญ์„ ์ƒ์„ฑ
select column as alias
from table_name;

๐Ÿ“Œ DISTINCT (์ค‘๋ณต์ œ๊ฑฐ)

select distinct column1, column2, ...
from table_name;

๐Ÿ“Œ LIMIT (์ฃผ์–ด์ง„ ์ˆซ์ž๋งŒํผ๋งŒ ์กฐํšŒ)

select column1, column2, ...
from tablename
where condition
limit number;

๐Ÿ“Œ CONCAT, ALIAS ์˜ˆ์ œ

SELECT c.agency as '์†Œ์†์‚ฌ์ •๋ณด', concat('๋‚˜์ด:', c.age, '(', c.sex, ')') as '์‹ ์ƒ์ •๋ณด',
concat(s.season, '-', s.episode ', ', '๋ฐฉ์†ก๋‚ ์งœ:', s.broadcast_date) as '์ถœ์—ฐ์ •๋ณด'
from celeb as c, snl_show as s
where c.name = s.host
and c.agency like '__์—”ํ„ฐํ…Œ์ธ๋จผํŠธ'
order by broadcast_date DESC;