์ถ์ฒ : ๋ด์ผ๋ฐฐ์์บ ํ
SELECT ~ FROM
USE
USE ๋ฐ์ดํฐ๋ฒ ์ด์ค_์ด๋ฆ;
Select ๋ฌธ์ ๊ธฐ๋ณธ ํ์
SELECT select_expr
[FROM table_references]
[WHERE where_condision]
[GROUP BY {col_name | expr | position}]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[] ๋ถ๋ถ์ ์๋ต์ด ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ์์๋ ์ง์ผ์ผ ํ๋ค.
SELECT ~ FROM
SELECT ์ด_์ด๋ฆ FROM ํ
์ด๋ธ_์ด๋ฆ
from ๋ค ํ ์ด๋ธ๊ณผ ๊ทธ ์ค ์ด_์ด๋ฆ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์ฟผ๋ฆฌ๋ฌธ, ๋ชจ๋ ์ด์ ๋ด์ฉ์ ๊ฐ์ ธ์ค๋ ค๋ฉด * ๋ฅผ ์ฌ์ฉ, ์ฌ๋ฌ ์ด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ์ฝค๋ง๋ก ๊ตฌ๋ถ
SELECT addr, debut_date, mem_name FROM member;
์ด์ ์ด๋ฆ์ ๋ผ๋ฒจ์ ๋ถ์ผ ์๋ ์๋ค : ์ด_์ด๋ฆ + " " + '๋ถ์ด๊ณ ์ถ์ ๋ผ๋ฒจ'
SELECT addr ์ฃผ์, debut_date '๋ฐ๋ท ์ผ์', mem_name FROM member;
+ WHERE : ์กฐ๊ฑด๋ฌธ
SELECT * FROM member WHERE mem_name = '๋ธ๋ํํฌ';
ํ๊ท ํค(height)๊ฐ 162 ์ดํ์ ๋ฉค๋ฒ ์กฐํ
SELECT mem_id, mem_name FROM member WHERE height <= 162;
ํ๊ท ํค(height)๊ฐ 165 ์ด์์ด๋ฉด์ ์ธ์(mem_number)๊ฐ 6๋ช ์ด๊ณผ์ธ ๋ฉค๋ฒ ์กฐํ
SELECT mem_name, height, mem_number
FROM member
WHERE height >= 165 AND mem_number > 6;
ํ๊ท ํค(height)๊ฐ 163์ด์ 165์ดํ์ธ ๋ฉค๋ฒ ์กฐํ
SELECT *
FROM member
WHERE height >= 163 AND height > 165;
+ BETWEEN ~ AND
SELECT *
FROM member
WHERE height BETWEEN height 163 AND 165;
IN() : ๋ฌธ์๋ก ํํ๋๋ ์กฐ๊ฑด์์ ์กฐํฉํ ๋
SELECT mem_name, addr
FROM member
WHERE addr = '๊ฒฝ๊ธฐ' OR addr = '์ ๋จ' OR addr ='๊ฒฝ๋จ';
SELECT mem_name, addr
FROM member
WHERE IN('๊ฒฝ๊ธฐ', '์ ๋จ', '๊ฒฝ๋จ');
๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์กฐํํ ์ ์๋ค.
LIKE : ๋ฌธ์์ด์ ์ผ๋ถ ๊ธ์๋ฅผ ์กฐํํ ๋
% : ๋ฌด์์ด๋ ํ์ฉ
_ : ํ๊ธ์ ๋งค์น
ex) ์ด๋ฆ์ด '์ฐ'๋ก ์์ํ๋ ๋ฉค๋ฒ ์กฐํ ์
SELECT * FROM member WHERE mem_name LIKE '์ฐ%';
์ด๋ฆ์ด **ํํฌ์ธ ๋ฉค๋ฒ ์กฐํ
SELECT * FROM member WHERE mem_name LIKE '__ํํฌ';
์๋ธ์ฟผ๋ฆฌ
SELECT ์์ ๋ ๋ค๋ฅธ SELECT
๋ ๋ฒ์ ์กฐํ๋ฅผ ํ ๋ฒ์ ์ฟผ๋ฆฌ๋ก ๊ฐ๋ฅ
SELECT mem_name, height FROM member
WHERE height > (SELECT height FROM member WHERE mem_name = '์์ดํํฌ');
ORDER BY
ORDER BY : ๊ฒฐ๊ณผ ๊ฐ์ด๋ ๊ฐ์์ ๋ํด ์ํฅ์ ๋ฏธ์น์ง ์์ง๋ง, ๊ฒฐ๊ณผ ์ถ๋ ฅ ์์๋ฅผ ์กฐ์
๋ฐ๋ท๋ ์ง ์ค๋ฆ์ฐจ์
SELECT mem_id, mem_name, debut_date FROM member ORDER BY debut_date;
๋ฐ๋ท๋ ์ง ๋ด๋ฆผ์ฐจ์
SELECT mem_id, mem_name, debut_date FROM member ORDER BY debut_date DESC;
์ฌ๋ฌ ์ด์ ์์๋ฅผ ์ง์ ํ ์ ์๋ค.
ex) ํ๊ท ํค๊ฐ ํฐ ์์ผ๋ก ์ ๋ ฌํ๊ณ , ๋ฐ๋ท ๋ ์ง ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
SELECT mem_id, mem_name, debut_date, height
FROM member
WHERE height >= 164
ORDER BY height DESC;
LIMIT : ์ถ๋ ฅ ๊ฐ์์ ์ ํ
LIMIT(์์, ๊ฐ์) ~ ex) LIMIT 3 == LIMIT 0, 3 == LIMIT 3 OFFSET 0
SELECT mem_name, debut_date
FROM member
ORDER BY debut_date
LIMIT 3;
DISTINCT : ์กฐํ ๊ฒฐ๊ณผ์์ ์ค๋ณต๋๋ ๊ฐ๋ค ์ค 1๊ฐ๋ง ์ถ๋ ฅํ๋ค
GROUP
์ถ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ๋๋ค, ๋ค์์ ์ง๊ณํจ์์ ์ฃผ๋ก ์ฌ์ฉ
SUM() | ํฉ๊ณ |
AVG() | ํ๊ท |
MIN() | ์ต์๊ฐ |
MAX() | ์ต๋๊ฐ |
COUNT() | ํ์ ๊ฐ์ |
COUNT(DISTINCT) | ํ์ ๊ฐ์(์ค๋ณต ์ ๊ฑฐ) |
๊ฐ ๋ฉค๋ฒ์ ๊ตฌ๋งคํ ๊ฐ์์ ํฉ์ ์ถ๋ ฅ
SELECT mem_id, SUM(amount) FROM buy GROUP BY mem_id;
๊ตฌ๋งค๊ธ์ก์ ์ดํฉ ์ถ๋ ฅ
SELECT mem_id, SUM(price*amount) FROM buy GROUP BY mem_id;
HAVING
๊ธฐ์กด์ ์กฐ๊ฑด๋ฌธ์ด ์์นํ๋ WHERE์๋ ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๊ทธ ์๋ฆฌ์ HAVING์ ์ฌ์ฉ
** ๊ผญ GRUOP BY์๋ง ํจ๊ป ์ฌ์ฉํด์ผ ํ๋ค
'RDB๐๏ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL : JOIN (0) | 2023.01.11 |
---|---|
SQL : ๋ฐ์ดํฐ ๋ณ๊ฒฝ (0) | 2023.01.10 |
๊ฒ์ํ์ ๋๊ธ์ ํฌํจํ๊ณ ์๋ ๊ฒ์๋ฌผ์ ๋๊ธ ์ญ์ ์์ด ๊ฒ์๋ฌผ๋ง ์ญ์ ํ๋ ๊ฒฝ์ฐ, ์์ธ Referential integrity constraint violation : 2) SQL (0) | 2023.01.02 |
SQL ์ ์ฝ์กฐ๊ฑด (0) | 2022.12.05 |
SQL ๊ด๋ จ ๋จ์ด ์ ๋ฆฌ (0) | 2022.12.05 |