๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ”ฌweb application/- Database

[SQL๋ฌธ ๊ธฐ์ดˆ] SQL-SELCET ๋ฌธ์˜ ์‚ฌ์šฉ๋ฒ• ๋ฐ ์˜ˆ์ œ (2)[WHERE ๋ฌธ]

by Wonit 2020. 4. 10.

์šฐ๋ฆฌ๊ฐ€ ์ „ ์‹œ๊ฐ„์— ๋ฐฐ์› ๋˜ ๊ธฐ๋ณธ์ ์ธ SELECT ๋ฌธ์˜ ์‚ฌ์šฉ๋ฒ•์— ์˜ํ•˜๋ฉด ํŠน์ • ์กฐ๊ฑด(์ค‘๋ณต ์ œ๊ฑฐ, NULL ๋ณ€๊ฒฝ, ๋…ผ๋ฆฌ ์—ฐ์‚ฐ)์€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ๋งŒ์•ฝ ํŠน์ • ์กฐ๊ฑด๋งŒ์„ ๋ณด๊ณ ์‹ถ์„ ๋•Œ๋Š” ์–ด๋–ค ์กฐ๊ฑด์„ ์ทจํ•ด์•ผ ํ• ๊นŒ? ์ด์ œ ๋ฐฐ์›Œ๋ณด์ž.

ํŠน์ • ๋ฐ์ดํ„ฐ๋งŒ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” WHERE

 

where์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๊ตฌ๋ฌธ์€

 

SELECT * 
FROM table_name
WHERE column_name;

์ด๋‹ค. ์ „์— ๋ฐฐ์› ๋˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์—์„œ ๊ธ‰์—ฌ๊ฐ€ 500 ์ด์ƒ์ธ ์‚ฌ๋žŒ๋“ค๋งŒ ์ถœ๋ ฅ์‹œ์ผœ ๋ณด์ž.

 

WHERE ์ ˆ๋กœ ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋Ÿฐ WHERE ํ‚ค์›Œ๋“œ๋กœ ๋‹ค์–‘ํ•œ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ ์‚ฌ์šฉ๋ฒ•์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.

 

  • ๋น„๊ต ์—ฐ์‚ฐ์ž
  • ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

์ด ํฌ์ŠคํŠธ๋ฅผ ๋๊นŒ์ง€ ์ฝ์œผ๋ฉด ์•„๋งˆ ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ์ž๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค!

 

๋น„๊ต ์—ฐ์‚ฐ์ž

 

๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ์šฐ๋ฆฌ๊ฐ€ ์œ„์—์„œ ๋ง›๋งŒ ๋ดค๋˜ ๊ทธ ์—ฐ์‚ฐ์ž ์ด๋‹ค. ๋น„๊ต ์—ฐ์‚ฐ์ž์—๋Š” ๋น„๊ต๋ฅผ ์œ„ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ตฌ๋ฌธ(>, <, =, <=, >=, !=, <>, ^=) ์ด ์“ฐ์ผ ์ˆ˜ ์žˆ๋‹ค.


๋น„๊ต ์—ฐ์‚ฐ์ž์˜ ์“ฐ์ž„์€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ด๊ณ  ์‰ฌ์šฐ๋ฏ€๋กœ ์ง์ ‘ ํ•ด๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœ!

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

 

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋Š” AND, OR, NOT ๊ณผ ๊ฐ™์€ ๋…ผ๋ฆฌ ๋ถ€์ •, ํ•ฉ ๋“ฑ์˜ ์—ฐ์‚ฐ์ž๋กœ ์กฐ๊ฑด์„ ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

  • a AND b : a์™€ b ๋ชจ๋‘ ๋งŒ์กฑํ•˜๋Š”
์ง๊ธ‰์ด ๋ถ€์žฅ์ธ ์‚ฌ๋žŒ ์ค‘์— ๊ธ‰์—ฌ๊ฐ€ 400์„ ๋ฐ›๋Š” ์‚ฌ๋žŒ์„ ์ถœ๋ ฅํ•ด๋ณด์ž.

 

AND ์—ฐ์‚ฐ์ž

  • a OR b : a์™€ b์ค‘ ํ•˜๋‚˜ ์ด์ƒ์ด ๋งŒ์กฑํ•˜๋Š”
์ง๊ธ‰์ด ๋ถ€์žฅ ๋˜๋Š” ์ฐจ์žฅ์ธ ์ง์›์ค‘ ๊ธ‰์—ฌ๊ฐ€ 400 ์ด์ƒ์ธ ์‚ฌ๋žŒ์„ ์ถœ๋ ฅํ•ด๋ณด์ž.

 

  • a NOT b :a์™€ b๋‘˜ ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š”.
์ „์ฒด ์ง์› ์ค‘ ๋ถ€์žฅ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ์„ ์ถœ๋ ฅํ•ด๋ณด์ž.

 

SQL ์—ฐ์‚ฐ์ž

 

SQL ์—ฐ์‚ฐ์ž๋Š” SQL ์–ธ์–ด์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ์ž๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ•˜๋‹ค.

 

  • BETWEEN AND ์—ฐ์‚ฐ์ž
  • IN ์—ฐ์‚ฐ์ž
  • LIKE ์—ฐ์‚ฐ์ž
  • NULL์„ ์œ„ํ•œ ์—ฐ์‚ฐ์ž

 

BETWEEN AND ์—ฐ์‚ฐ์ž

 

BETWEEN cond1 AND cond2 ์—ฐ์‚ฐ์ž๋Š” cond1๊ณผ cond2 ๋ฅผ ํฌํ•จํ•˜๊ณ  ๊ทธ ์‚ฌ์ด์— ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’์„ ์ถœ๋ ฅ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋งˆ์น˜ ๋น„๊ต ์—ฐ์‚ฐ์ž ๋‘ ๊ฐœ๋ฅผ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋กœ ํ•ฉ์ณ๋†“์€ ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ชจ์–‘์ด๋‹ค.

 

๊ธ‰์—ฌ๊ฐ€ 300 ๋งŒ์› ์ด์ƒ์ด๊ณ  500๋งŒ์› ์ดํ•˜์ธ ์‚ฌ๋žŒ๋“ค์„ ์ถœ๋ ฅ์‹œ์ผœ ๋ณด์ž.

 

 

IN ์—ฐ์‚ฐ์ž

 

IN(a, b, c) ์—ฐ์‚ฐ์ž๋Š” ํ•ด๋‹น ์กฐ๊ฑด์ค‘ ํ•˜๋‚˜์˜ ๊ฐ’์ด๋ผ๋„ ๊ฐ™์ด๋ฉด ์ฐธ์ด๋‹ค.

๊ธ‰์—ฌ๊ฐ€ 300, 400 500์— ํ•ด๋‹นํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์ถœ๋ ฅ์‹œ์ผœ ๋ณด์ž.

 

LIKE ์—ฐ์‚ฐ์ž

 

LIKE ์—ฐ์‚ฐ์ž๋Š” ๋ฌธ์ž์—ด ํŒจํ„ด๊ณผ ๋ถ€๋ถ„์ ์œผ๋กœ ์ผ์น˜ํ•˜๋ฉด ์ฐธ์ด๋‹ค.


LIKE ์—ฐ์‚ฐ์ž๋Š” ๋‘ ๊ฐ€์ง€์˜ ํ‚ค์›Œ๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ

 

  1. % ์—ฐ์‚ฐ์ž : ๋ฌธ์ž๊ฐ€ ์—†๊ฑฐ๋‚˜ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฌธ์ž๊ฐ€ ์–ด๋–ค ๊ฐ’์ด ์™€๋„ ์ฐธ
  2. _ ์—ฐ์‚ฐ์ž : ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด ์ค‘ ์–ด๋–ค ๊ฐ’์ด ๋‚˜์™€๋„ ์ฐธ

์‰ฝ๊ฒŒ ๋งํ•ด % ์—ฐ์‚ฐ์ž๋Š” ๋ฌธ์ž์—ด ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๊ณ  _์—ฐ์‚ฐ์ž๋Š” ํ•œ๊ฐ€์ง€์˜ ๋ฌธ์ž์—ด๋งŒ ๋ถ™์„ ์ˆ˜ ์žˆ๋‹ค ์ •๋„๋กœ ํ•ด์„ํ•˜๋ฉด ๋ ๊ฒƒ ๊ฐ™๋‹ค.

 

์„ฑ์ด ์ด์”จ ์ธ ์‚ฌ๋žŒ์„ ์ถœ๋ ฅ์‹œ์ผœ ๋ณด์ž.

LIKE ์—ฐ์‚ฐ์ž๋Š” = ๊ธฐํ˜ธ๊ฐ€ ์˜ค๋ฉด ์•ˆ๋œ๋‹ค.


Like ์—ฐ์‚ฐ์ž๋Š” = ๊ธฐํ˜ธ๊ฐ€ ์˜ค๋ฉด ์•ˆ๋œ๋‹ค!! LIKE ์ž์ฒด๊ฐ€ = ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์ƒ๊ฐํ•˜์ž.

 

 

NULL์„ ์œ„ํ•œ ์—ฐ์‚ฐ์ž

 

IS NULL ์—ฐ์‚ฐ์ž๋Š” NULL ์ด๋ฉด ์ฐธ์ด๋‹ค.

comm์ด null์ธ ์‚ฌ๋žŒ์„ ์ฐพ์•„๋ผ

๋Œ“๊ธ€