728x90

๐ŸŽˆ SQL๋ฌธ ์ž‘์„ฑ

- ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„X
- ํ•œ์ค„ ๋˜๋Š” ์—ฌ๋Ÿฌ์ค„์— ์ž…๋ ฅ๊ฐ€๋Šฅ
- ํ‚ค์›Œ๋“œ ์•ฝ์–ด ํ‘œ๊ธฐX, ์—ฌ๋Ÿฌ์ค„์— ๊ฑธ์ณ ์ž…๋ ฅX
- ์ ˆ(clause)์€ ๋Œ€๊ฐœ ๋ณ„๋„์˜ ์ค„์— ์ž…๋ ฅ

 

๐Ÿ’š select๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰

๊ธฐ๋ณธ SELECT๋ฌธ

SELECT * | [DISTINCT] column | expreession [alias], ...
FROM table;

 

1. ํ‘œ์‹œํ•  ์—ด์„ ์ง€์ •ํ•˜๋Š” SELECT ์ ˆ

* : ๋ชจ๋“  ์—ด ์„ ํƒ
[DISTINCT] : ์ค‘๋ณต์„ ๋ฐฉ์ง€ (ํ•„์š”์‹œ)
column/expression : ์ด๋ฆ„ ์ง€์ •๋œ ์—ด ๋˜๋Š” ํ‘œํ˜„์‹ ์„ ํƒ
[alias] : ์„ ํƒํ•œ ์—ด์— ๋‹ค๋ฅธ ๋ณ„์นญ ์ง€์ • (ํ•„์š”์‹œ)

2. SELECT์ ˆ์— ๋‚˜์—ด๋œ ์—ด์„ ํฌํ•จํ•˜๋Š” ํ…Œ์ด๋ธ”์„ ์‹๋ณ„ํ•˜๋Š” FROM์ ˆ

table : ์—ด์ด ํฌํ•จ๋œ ํ…Œ์ด๋ธ” ์ง€์ •

3. ์‚ฐ์ˆ  ํ‘œํ˜„์‹

: SQL๋ฌธ์˜ ๋ชจ๋“  ์ ˆ(FROM์ ˆ ์ œ์™ธ)์—์„œ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ ๊ฐ€๋Šฅ. (date๋ฐ timestamp ๋ฐ์ดํ„ฐ ํ˜•์‹์€ ๋”ํ•˜๊ธฐ/๋นผ๊ธฐ๋งŒ ๊ฐ€๋Šฅ)

SELECT last_name, salary, salary+300
FROM employees;


4. NULL๊ฐ’ ์ •์˜

: ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜, ํ• ๋‹น๋˜์ง€ ์•Š๊ฑฐ๋‚˜, ์•Œ ์ˆ˜ ์—†๊ฑฐ๋‚˜, ์ ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฐ’. 

0์ด๋‚˜ ๊ณต๋ฐฑ์€ ์•„๋‹˜!! (0์€ ์ˆซ์ž, ๊ณต๋ฐฑ์€ ๋ฌธ์ž์ž„)
& ๋„๊ฐ’์„ ํฌํ•จํ•˜๋Š” ์‚ฐ์ˆ ์‹์€ ๋„๋กœ ๊ณ„์‚ฐ๋จ..


5. ์—ด Alias ์ •์˜

: ์—ด ๋จธ๋ฆฌ๊ธ€์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝ. ๊ณ„์‚ฐ์— ์œ ์šฉ.

>> ์—ด ์ด๋ฆ„ ๋ฐ”๋กœ ๋’ค์— ๋‚˜์˜ด  OR  ์—ด์ด๋ฆ„๊ณผ ๋ณ„์นญ ์‚ฌ์ด์— ASํ‚ค์›Œ๋“œ๋ฅผ ๋„ฃ๊ธฐ  
& ๊ณต๋ฐฑ์ด๋‚˜ ํŠน์ˆ˜๋ฌธ์ž ํฌํ•จ, ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒฝ์šฐ  " " ์•ˆ์— ๋„ฃ๊ธฐ.

SELECT last_name AS name
FROM employees;

SELECT last_name "Name"
FROM employees;


6. ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž

: ์—ด ๋˜๋Š” ๋ฌธ์ž์—ด์„ ๋‹ค๋ฅธ ์—ด์— ์—ฐ๊ฒฐ || 
& ๋ฌธ์ž์—ด์— NULL๊ฐ’์„ ๊ฒฐํ•ฉํ•  ๊ฒฝ์šฐ ๊ฒฐ๊ณผ๋Š” ๋ฌธ์ž์—ด 

SELECT last_name||job_id AS "Employees"
FROM employees;


7. ๋ฆฌํ„ฐ๋Ÿด ๋ฌธ์ž์—ด ์‚ฌ์šฉ

: ๋ฌธ์ž, ์ˆซ์ž ๋˜๋Š” ๋‚ ์งœ
๋‚ ์งœ ๋ฐ ๋ฌธ์ž ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์€ '    '์œผ๋กœ ๋ฌถ๊ธฐ. 
๊ฐ ๋ฌธ์ž์—ด์€ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ ํ–‰์— ํ•œ ๋ฒˆ ์ถœ๋ ฅ๋จ.

SELECT last_name || 'is a '||job_id AS "Employee Details"
FROM employees;

 

8. ๋Œ€์ฒด ์ธ์šฉ(q) ์—ฐ์‚ฐ์ž

: ์ž์‹ ์˜ ๋”ฐ์˜ดํ‘œ ๊ตฌ๋ถ„์ž๋ฅผ ์ง€์ •. ๊ตฌ๋ถ„์ž๋ฅผ ์ž„์˜๋กœ ์„ ํƒํ•จ. 

SELECT department_name || q' [Department's Manager Id: ]'|| manager_id AS "Department and Manager"
FROM departments;


** ์ฃผ์˜!

๋ฆฌํ„ฐ๋Ÿด ๋ฌธ์ž์—ด ์‚ฌ์šฉ์‹œ ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’ ์•ˆ์— 's (apostrophe s) ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ...

>> ERROR: ORA-01756: quoted string not properly terminated

> ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋Œ€์ฒด ์ธ์šฉ ์—ฐ์‚ฐ์ž q๊ฐ€ ํ•„์š”ํ•จ.

 

9. ์ค‘๋ณต ํ–‰(rows)

: Query ๊ฒฐ๊ณผ์˜ ๊ธฐ๋ณธ ํ‘œ์‹œ๋Š” ์ค‘๋ณต ํ–‰์„ ํฌํ•จํ•œ ๋ชจ๋“  ํ–‰์ด๋ฏ€๋กœ

> DISTINCT ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉ. (=UNIQUE)

SELECT DISTINCT department_id
FROM employees;

 

728x90

BELATED ARTICLES

more