본문 바로가기
컴퓨터공학/데이터베이스 설계

SQL 기본 구문

by 일상 속 둔치 2018. 10. 28.

DDL

create table instructor(
ID char(5),
name varchar(20) not null,
dept_name varchar(20),
salary numeric (8,2),
primary key (ID),
foregin key (dept_name) reference department);

도메인 종류


도메인 

내용 

 char(n)

 n자리의 고정 길이 문자열

 varchar(n)

최대 길이 n의 가변 길이 문자역 

int 

정수 

smallint 

작은 정수 

numeric(p,d) 

p개의 숫자로 구성, d는 소숫점자리 수 

real 

이동 소수점 수 

double 

이동 소수점 수  

precision 

 이동 소수점 수 

float(n)

 적어도 n개의 숫자의 정확도를 가지는 이동 소수점 수


테이블 업데이트

insert into instructor values ('10211','smith','Biology',66000); // 투플 삽입
delete from student where 조건 // student 테이블에서 where 조건에 해당하는 투플 삭제
drop table r // r의 릴레이션 드랍
alter table r add A D // r의 릴레이션에 D의 도메인을 가진 A 속성 추가
alter table r drop A // A 속성 r릴레이션에서 삭제


DML

select course_id, semester, year, sec_id, avg(tot_cred) as avg_tot_cred
from takes natural join student
where year = 2009
group by c_id, semester, year, sec_id
having count(ID) >= 2
order by course_id

집계함수

avg, min, max, sum, count


집합 함수

union, intersect, except


중복 제거자

distinct


null 검사

is null, is not ull


정렬

order by name asc, year desc


특수문자 출력

where name like '100\%\ escape '\'


등등

where (instructor.ID, dept_name) = (teaches.ID, 'Biology');

where ID Between 10000 and 40000

댓글