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

๐Ÿ‡ฉ๐Ÿ‡ฆ๐Ÿ‡น๐Ÿ‡ฆ๐Ÿ‡ง๐Ÿ‡ฆ๐Ÿ‡ธ๐Ÿ‡ช

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค SQL <๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด(DDL), ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด(DML)>

SQL

โ• ๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด(Data Definition Language; DDL)

- ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ตฌ์กฐ๋ฅผ ๋ช…์‹œํ•˜๋Š” ์–ธ์–ด

- ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ์˜ ์ •์˜, ์ˆ˜์ •, ์‚ญ์ œ๋ฅผ ์œ„ํ•œ ๋ช…๋ น๋ฌธ ์ œ๊ณต

โ€‹

โ• ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด(Data Manipulation Language; DML)

- ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์–ธ์–ด

- ๋ ˆ์ฝ”๋“œ์˜ ๊ฒ€์ƒ‰(search), ์‚ฝ์ž…(insert), ์‚ญ์ œ(delete), ์ˆ˜์ •(update)์„ ์œ„ํ•œ ๋ช…๋ น๋ฌธ ์ œ๊ณต

โ€‹

๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด(DDL)

โ—ฝ ํ…Œ์ด๋ธ” ์ƒ์„ฑ(create table) - ๊ธฐ๋ณธํ‚ค, ์™ธ๋ž˜ํ‚ค ์„ค์ •

โ—ฝ ํ…Œ์ด๋ธ” ์‚ญ์ œ(drop table)

โ—ฝ ํ…Œ์ด๋ธ” ์ˆ˜์ •(alter table)

โ€‹

<<์ฃผ์š” ๋ฐ์ดํ„ฐ ํƒ€์ž…>>

 

ํ…Œ์ด๋ธ” ์ƒ์„ฑ

ํ˜•์‹ : create table <ํ…Œ์ด๋ธ” ์ด๋ฆ„> (<ํ•„๋“œ๋ฆฌ์ŠคํŠธ>)

โ—ฝ<ํ•„๋“œ๋ฆฌ์ŠคํŠธ>๋Š” '<ํ•„๋“œ๋ช…> <๋ฐ์ดํ„ฐํƒ€์ž…>'์˜ ๋‚˜์—ด

โ€‹

์˜ˆ) department ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋Š” SQL๋ฌธ

create table department(
   dept_id     varchar2(10)     not null,
   dept_name   varchar2(14)     not null,
   office      varchar2(10) 
)

not null์€ ํ•ด๋‹น ํ•„๋“œ์— ๋„์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ

โ€‹

๊ธฐ๋ณธํ‚ค ์„ค์ •

- ํ…Œ์ด๋ธ”์—์„œ ๊ธฐ๋ณธํ‚ค ์—ญํ• ์„ ํ•  ํ•„๋“œ๋ฅผ ์ง€์ •

- constraint <์ œ์•ฝ์กฐ๊ฑด ์ด๋ฆ„> primary key(<๊ธฐ๋ณธํ‚ค ํ•„๋“œ๋ช…>)

create table department(
   dept_id     varchar2(10)     not null,
   dept_name   varchar2(14)     not null,
   office      varchar2(10) 
   constraint pk_department primary key(dept_id)
)
create table department(
   dept_id     varchar2(10)     primary key
   dept_name   varchar2(14)     not null,
   office      varchar2(10) 
)

์œ„์˜ ์งˆ์˜ ๋‘˜๋‹ค ๊ฐ€๋Šฅ, dept_id ํ•„๋“œ๋ฅผ ๊ธฐ๋ณธํ‚ค๋กœ ์ง€์ •

<์ œ์•ฝ์กฐ๊ฑด ์ด๋ฆ„>์€ ๋‹ค ๋‹ค๋ฅด๊ฒŒ ์ง€์ •

โ€‹

์™ธ๋ž˜ํ‚ค ์„ค์ •

- ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‹œ ์™ธ๋ž˜ํ‚ค ์—ญํ• ์„ ํ•  ํ•„๋“œ๋ฅผ ์ง€์ •

- constraint <์ œ์•ฝ์กฐ๊ฑด ์ด๋ฆ„> foreign key (<์™ธ๋ž˜ํ‚ค ํ•„๋“œ๋ช…>) references <์ฐธ์กฐ๋  ํ…Œ์ด๋ธ”๋ช…>(<๊ธฐ๋ณธํ‚ค ํ•„๋“œ๋ช…>)

create table student(
   stu_id       varchar2(10),
   resident_id  varchar2(14)    not null, 
   name         varchar2(10)    not null,
   year         int,
   address      varchar2(10),
   dept_id      varchar2(10),

   constraint pk_student primary key(stu_id)
   constraint fk_student foreign key(dept_id) references department(dept_id)   
)

stu_id ํ•„๋“œ๋ฅผ ๊ธฐ๋ณธํ‚ค๋กœ ์ง€์ •, dept_id๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ ์ง€์ •ํ•จ

โ€‹

ํ…Œ์ด๋ธ” ์‚ญ์ œ

ํ˜•์‹: drop table <ํ…Œ์ด๋ธ” ์ด๋ฆ„>

โœ” ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์—์„œ ์™ธ๋ž˜ํ‚ค๋กœ ์ฐธ์กฐ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์‚ญ์ œํ•  ์ˆ˜ ์—†์Œ

โ€‹

ํ…Œ์ด๋ธ” ์ˆ˜์ •

- ๊ธฐ์กด ํ…Œ์ด๋ธ”์— ์ƒˆ๋กœ์šด ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ํ•„๋“œ๋ฅผ ์‚ญ์ œ

ํ•„๋“œ ์ถ”๊ฐ€ ํ˜•์‹: alter table <ํ…Œ์ด๋ธ” ์ด๋ฆ„> add <์ถ”๊ฐ€ํ•  ํ•„๋“œ๋ช… ๋ฐ์ดํ„ฐ ํƒ€์ž…>

์˜ˆ) student ํ…Œ์ด๋ธ”์— age ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€

alter table student add age int

ํ•„๋“œ ์‚ญ์ œ ํ˜•์‹: alter table <ํ…Œ์ด๋ธ” ์ด๋ฆ„> drop column <์‚ญ์ œํ•  ํ•„๋“œ๋ช…>

์˜ˆ) student ํ…Œ์ด๋ธ”์— age ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€

alter table student drop column age

 

๊ธฐ๋ณธํ‚ค, ์™ธ๋ž˜ํ‚ค ์ฃผ์˜์‚ฌํ•ญ

โœ” ์™ธ๋ž˜ํ‚ค๋ฅผ ๊ฐ–๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ ์™ธ๋ž˜ํ‚ค๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”์„ ๋จผ์ € ์ƒ์„ฑํ•ด์•ผํ•จ

โœ” ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•  ๋•Œ๋„ ์™ธ๋ž˜ํ‚ค๋กœ ์ฐธ์กฐ๋˜๋Š” ํ…Œ์ด๋ธ”์€ ์‚ญ์ œํ•  ์ˆ˜ ์—†์Œ

โœ” ์™ธ๋ž˜ํ‚ค๋ฅผ ํ•ด์ œํ•˜๊ฑฐ๋‚˜ ์™ธ๋ž˜ํ‚ค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”์„ ๋จผ์ € ์‚ญ์ œํ•ด์•ผํ•จ

โ€‹

๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด(DML)

โ€‹

๋ ˆ์ฝ”๋“œ ์‚ฝ์ž…

ํ˜•์‹ : insert into <ํ…Œ์ด๋ธ”์ด๋ฆ„>(<ํ•„๋“œ ๋ฆฌ์ŠคํŠธ>) values (<๊ฐ’ ๋ฆฌ์ŠคํŠธ>)

<ํ•„๋“œ ๋ฆฌ์ŠคํŠธ>

โ—ฝ ์ƒˆ๋กœ์šด ๋ ˆ์ฝ”๋“œ๊ฐ€ ์‚ฝ์ž…๋  ํ…Œ์ด๋ธ”์˜ ํ•„๋“œ๋“ค์„ ๋‚˜์—ด

<๊ฐ’ ๋ฆฌ์ŠคํŠธ>

โ—ฝ <ํ•„๋“œ ๋ฆฌ์ŠคํŠธ>์˜ ์ˆœ์„œ์— ๋งž์ถฐ ์‚ฝ์ž…๋  ๊ฐ’๋“ค์„ ๋‚˜์—ด

โ€‹

โœ” <ํ•„๋“œ ๋ฆฌ์ŠคํŠธ>์— ๋‚˜์—ด๋˜์ง€ ์•Š์€ ํ•„๋“œ์— ๋Œ€ํ•ด์„œ๋Š” NULL์ด ์ž…๋ ฅ

โ• NULL์ด ํ˜€์šฉ๋˜์ง€ ์•Š๋„๋ก ์ •์˜๋œ ํ•„๋“œ์—๋Š” ๋ฐ˜๋“œ์‹œ ๊ฐ’์„ ์ง€์ •ํ•ด์•ผํ•จ

โœ” <ํ•„๋“œ ๋ฆฌ์ŠคํŠธ>๋ฅผ ์ƒ๋žตํ•  ๊ฒฝ์šฐ <๊ฐ’ ๋ฆฌ์ŠคํŠธ>์—๋Š” ํ…Œ์ด๋ธ”์„ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•œ ํ•„๋“œ๋“ค์˜ ์ˆœ์„œ์— ๋งž์ถฐ์„œ ๋ชจ๋“  ๊ฐ’์„ ๋‚˜์—ดํ•ด์•ผํ•จ

 

โ€‹์˜ˆ)

insert into department(dept_id, dept_name, office)
values ('920', '์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ', '210ํ˜ธ')

<ํ•„๋“œ๋ฆฌ์ŠคํŠธ>๋ฅผ ์ƒ๋žตํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ์˜ˆ

insert into department
values ('923', '์‚ฐ์—…๊ณตํ•™๊ณผ', '207ํ˜ธ')

๋ ˆ์ฝ”๋“œ ์‚ฝ์ž… ์‹œ ์ฃผ์˜์‚ฌํ•ญ

์™ธ๋ž˜ํ‚ค ํ•„๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”์˜ ํ•ด๋‹น ํ•„๋“œ์— ๊ทธ ๊ฐ’์„ ๊ฐ–๋Š” ๋ ˆ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•ด์•ผํ•จ

โ• ์ฐธ์กฐ ํ…Œ์ด๋ธ”์— ๊ทธ๋Ÿฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋จผ์ € ์‚ฝ์ž…ํ•ด์•ผํ•จ

โ€‹

๋ ˆ์ฝ”๋“œ ์ˆ˜์ •

ํ˜•์‹ : update <ํ…Œ์ด๋ธ” ์ด๋ฆ„> set <์ˆ˜์ • ๋‚ด์—ญ> where <์กฐ๊ฑด>

<์ˆ˜์ • ๋‚ด์—ญ>

โ—ฝ ๋Œ€์ƒ ํ…Œ์ด๋ธ”์˜ ํ•„๋“œ์— ์ €์žฅ๋˜๋Š” ๊ฐ’์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•œ ์‚ฐ์ˆ ์‹

โ—ฝ ',' ์„ ์ด์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ•„๋“œ์— ๋Œ€ํ•œ ์ˆ˜์ • ๋‚ด์—ญ์„ ์ง€์ • ๊ฐ€๋Šฅ

 

<์กฐ๊ฑด>

โ—ฝ ์ˆ˜์ • ๋Œ€์ƒ์ด ๋  ๋ ˆ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด์„ ๊ธฐ์ˆ 

โ—ฝ ๊ด€๊ณ„๋Œ€์ˆ˜์—์„œ ์„ ํƒ ์—ฐ์‚ฐ(σ)์˜ ์กฐ๊ฑด์‹๊ณผ ๊ฐ™์€ ์˜๋ฏธ

โ—ฝ where์ ˆ์„ ์ƒ๋žตํ•  ๊ฒฝ์šฐ, ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •

โ€‹

์˜ˆ) student ํ…Œ์ด๋ธ”์—์„œ ๋ชจ๋“  ํ•™์ƒ๋“ค์˜ ํ•™๋…„์„ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€

update student
set    year = year + 1

 

์˜ˆ) professor ํ…Œ์ด๋ธ”์—์„œ '๊ณ ํฌ์„' ๊ต์ˆ˜์˜ ์ง์œ„๋ฅผ '๊ต์ˆ˜'๋กœ ์ˆ˜์ •ํ•˜๊ณ  ํ•™๊ณผ๋ฒˆํ˜ธ๋ฅผ '923'์œผ๋กœ ์ˆ˜์ •

update professor
set    position = '๊ต์ˆ˜', dept_id = '923'
where  name = '๊ณ ํฌ์„'

update professor set position = '๊ต์ˆ˜', dept_id = '923' where name = '๊ณ ํฌ์„'

๋ ˆ์ฝ”๋“œ ์ˆ˜์ • ์‹œ ์ฃผ์˜์‚ฌํ•ญ

โ• ์™ธ๋ž˜ํ‚ค๋กœ ์ง€์ •๋œ ํ•„๋“œ์˜ ๊ฐ’์„ ์ˆ˜์ •ํ•  ๋•Œ ์™ธ๋ž˜ํ‚ค๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ๊ฐ’์œผ๋กœ๋งŒ ์ˆ˜์ • ๊ฐ€๋Šฅ

โ€‹

๋ ˆ์ฝ”๋“œ ์‚ญ์ œ

ํ˜•์‹ : delete from <ํ…Œ์ด๋ธ” ์ด๋ฆ„> where <์กฐ๊ฑด>

โ—ฝ where ์ ˆ์— ์ง€์ •๋œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋“ค์„ ๋ชจ๋‘ ์‚ญ์ œ

โ—ฝ where ์ ˆ์ด ์ƒ๋žต๋˜๋ฉด ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ญ์ œ

โ€‹

์˜ˆ) professor ํ…Œ์ด๋ธ”์—์„œ ์ด๋ฆ„์ด '๊น€ํƒœ์„'์ธ ๊ต์ˆ˜๋ฅผ ์‚ญ์ œ

delete from professor
where       name = '๊น€ํƒœ์„'

โœ” delete๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•˜๋”๋ผ๋„ ํ…Œ์ด๋ธ”์€ ์‚ญ์ œ๋˜์ง€ ์•Š์Œ

โ€‹

๋ ˆ์ฝ”๋“œ ์‚ญ์ œ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

โ• ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ํ‚ค์— ์˜ํ•ด ์ฐธ์กฐ๋˜๋Š” ํ•„๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ…Œ์ด๋ธ”์—์„œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•  ๊ฒฝ์šฐ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

โ€‹

๋ ˆ์ฝ”๋“œ ๊ฒ€์ƒ‰

select ๋ฌธ

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์›ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ์งˆ์˜ ๋ฌธ์žฅ์„ ํ‘œํ˜„

- SQL์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋จ

ํ˜•์‹ : select <ํ•„๋“œ ๋ฆฌ์ŠคํŠธ> from <ํ…Œ์ด๋ธ” ๋ฆฌ์ŠคํŠธ> where <์กฐ๊ฑด>

 

select

โ—ฝ ์งˆ์˜ ๊ฒฐ๊ณผ๋กœ ์ถœ๋ ฅํ•  ํ•„๋“œ๋“ค์„ ์ง€์ •

โ—ฝ ๊ด€๊ณ„๋Œ€์ˆ˜์˜ ์ถ”์ถœ(project)์—ฐ์‚ฐ(π)์— ํ•ด๋‹น

from

โ—ฝ ์งˆ์˜ ์‹คํ–‰๊ณผ์ •์— ํ•„์š”ํ•œ ํ…Œ์ด๋ธ”๋“ค์„ ์ง€์ •

โ—ฝ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”๋“ค์ด ๋‚˜์—ด๋  ๊ฒฝ์šฐ, ๊ด€๊ณ„๋Œ€์ˆ˜์˜ ์นดํ‹ฐ์…˜ ํ”„๋กœ๋•ํŠธ๋ฅผ ์˜๋ฏธ

where

โ—ฝ ๊ฒ€์ƒ‰๋˜์–ด์•ผ ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ์— ๋Œ€ํ•œ ์กฐ๊ฑด ๊ธฐ์ˆ 

โ—ฝ ๊ด€๊ณ„๋Œ€์ˆ˜์˜ ์„ ํƒ ์—ฐ์‚ฐ(σ)์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์กฐ๊ฑด์‹๊ณผ ๊ฐ™์€ ์˜๋ฏธ

โ—ฝ ํŠน๋ณ„ํ•œ ์กฐ๊ฑด์ด ์—†์„ ๊ฒฝ์šฐ ์ƒ๋žต ๊ฐ€๋Šฅ

select name, dept_name
from   deparment, student
where  department.dept_id = student.dept_id

์˜ˆ) student ํ…Œ์ด๋ธ”์—์„œ ๋ชจ๋“  ํ•™์ƒ๋“ค์˜ ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰

select address from student

๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์—์„œ ์ค‘๋ณต๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋ฉด select ์ ˆ์—์„œ distinct ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•จ

โ€‹

์˜ˆ) ๋ชจ๋“  ํ•™์ƒ๋“ค์˜ ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  ์ถœ๋ ฅ

select distinct address
from   student

from ์ ˆ์— ๋‚˜ํƒ€๋‚œ ํ…Œ์ด๋ธ”์—์„œ ๋ชจ๋“  ํ•„๋“œ์˜ ๊ฐ’์„ ์ถ”์ถœํ•  ๊ฒฝ์šฐ, select ์ ˆ์— ๋ชจ๋“  ํ•„๋“œ๋ฅผ ๋ช…์‹œํ•  ํ•„์š” ์—†์ด '*' ์‚ฌ์šฉ

 

์˜ˆ) ํ•™์ƒ๋“ค์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰

select * from student

โœ” ํ•„๋“œ๋“ค์˜ ์ถœ๋ ฅ ์ˆœ์„œ๋Š” ํ…Œ์ด๋ธ”์— ์ •์˜๋œ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅ

โ€‹

๋ ˆ์ฝ”๋“œ์˜ ์ˆœ์„œ ์ง€์ •(order by)

- ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ

ํ˜•์‹ : select๋ฌธ ๋งˆ์ง€๋ง‰์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ order by์ ˆ์„ ์ถ”๊ฐ€

order by <ํ•„๋“œ๋ฆฌ์ŠคํŠธ>

- ์˜ค๋ฆ„์ฐจ์ˆœ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๋ฉฐ <ํ•„๋“œ๋ฆฌ์ŠคํŠธ>์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•„๋“œ๋ฅผ ๋‚˜์—ดํ•  ๊ฒฝ์šฐ ๋‚˜์—ด๋œ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ

โ€‹

์˜ˆ) 3, 4ํ•™๋…„ ํ•™์ƒ๋“ค์˜ ์ด๋ฆ„๊ณผ ํ•™๋ฒˆ์„ ๊ฒ€์ƒ‰ํ•˜๋˜, ํ•™์ƒ ์ด๋ฆ„์˜ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ๊ฐ™์€ ์ด๋ฆ„์— ๋Œ€ํ•ด์„œ๋Š” ํ•™๋ฒˆ์˜ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ

select   name, stu_id
from     student
where    year = 3 or year = 4
order by name, stu_id

๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์€ ํ•ด๋‹น ํ•„๋“œ ์ด๋ฆ„ ๋’ค์— desc ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฝ์ž…

โ€‹

์˜ˆ) ์•ž์˜ ์งˆ์˜์—์„œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ํ•™์ƒ ์ด๋ฆ„์˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ

select   name, stu_id
from     student
where    year = 3 or year = 4
order by name desc, stu_id

์žฌ๋ช…๋ช… ์—ฐ์‚ฐ

- ํ…Œ์ด๋ธ”์ด๋‚˜ ํ•„๋“œ์— ๋Œ€ํ•œ ์žฌ๋ช…๋ช…

- ๊ธด ์ด๋ฆ„์„ ์ค„์ด๊ฑฐ๋‚˜ ๋™์ผ ์ด๋ฆ„์ด ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•  ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์ด๋ฆ„ ์‚ฌ์šฉ

- ํ•˜๋‚˜์˜ ์งˆ์˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ๋งŒ ์ผ์‹œ์ ์œผ๋กœ ์‚ฌ์šฉ

โ€‹

์˜ˆ) ํ•™์ƒ๋“ค์˜ ์ด๋ฆ„๊ณผ ์†Œ์† ํ•™๊ณผ ์ด๋ฆ„์„ ๊ฒ€์ƒ‰

select student.name, department.dept_name
from   student, department
where  student.dept_id = department.dept_id

   โฌ‡โฌ‡โฌ‡โฌ‡โฌ‡

 

select  s.name, d.dept_name
from    student s, department d
where   s.dept_id = d.dept_id

๋™์ผ ํ…Œ์ด๋ธ”์ด ๋‘ ๋ฒˆ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ(self-join)

โ€‹

์˜ˆ) '๊น€๊ด‘์‹' ํ•™์ƒ๊ณผ ์ฃผ์†Œ๊ฐ€ ๊ฐ™์€ ํ•™์ƒ๋“ค์˜ ์ด๋ฆ„๊ณผ ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰

select  s2.name
from    student s1, student s2
where   s1.address = s2.address and s1.name = '๊น€๊ด‘์‹'

 

LIKE ์—ฐ์‚ฐ์ž

๋ฌธ์ž์—ด์— ๋Œ€ํ•ด์„œ ์ผ๋ถ€๋ถ„๋งŒ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฐพ์•„์•ผ ํ•  ๋•Œ

- '=' ์—ฐ์‚ฐ์ž ๋Œ€์‹  'like' ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉ

- '=' ๋Š” ๋ฌธ์ž์—ด์ด ์ •ํ™•ํžˆ ์ผ์น˜ํ•  ๊ฒฝ์šฐ์—๋งŒ ์ฐธ(true)

 

ํ˜•์‹ : where <ํ•„๋“œ ์ด๋ฆ„> like <๋ฌธ์ž์—ด ํŒจํ„ด>

โ—ฝ <ํ•„๋“œ ์ด๋ฆ„>์ด <๋ฌธ์ž์—ด ํŒจํ„ด>์„ ๋”ฐ๋ฅด๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌ

๋ฌธ์ž์—ด ํŒจํ„ด ๊ตฌ์„ฑ์š”์†Œ

โ—ฝ _ : ์ž„์˜์˜ ํ•œ ๊ฐœ ๋ฌธ์ž์— ๋Œ€์‘

โ—ฝ % : ์ž„์˜์˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์ž๋“ค์— ๋Œ€์‘

โ€‹

์˜ˆ) ๊น€์”จ ์„ฑ์„ ๊ฐ€์ง„ ํ•™์ƒ๋“ค์˜ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ์งˆ์˜

select *
from   student
where  name like '๊น€%'