DDL 제약조건

데이터베이스는 제약 조건을 사용하여 데이터를 일관성 없는 조작으로부터 보호합니다.

제약조건 유형

NOT NULL

열에 NULL값을 허용하지 않음

UNIQUE

열 혹은 열 조합은 유일해야함.

PRIMARY KEY

유일해야하고, NULL값을 허용하지 않음.

FOREIGN KEY

자신 또는 다른 테이블의 열 또는 열 조합을 참조하도록 하여 관계 설정.

CHECK

열 또는 열 조합이 조건에 참인 값만 허용

SQL prof테이블에서 특정 교수 찾기

prof테이블에서 1999년 혹은 2001년에 임용된 교수 찾기. (to_char 사용!)

select pname, hire_date 
from prof 
where to_char(hire_date,'yyyy') in ('1999','2001');

 

prof테이블에서 특정 달에 임용된 교수 찾기.(역시 to_char 사용)

select pname, hire_date 
from prof 
where to_char(hire_date, 'mm') = 9;

 

SQL 함수 정리

문자 : upper, lower, initcap, substr, instr, concat( == ||문자)
날짜 : add_months, next_day, last_day, round, trunc
숫자 : round, trunc

숫자 > 문자 : to_char(숫자,’문자형식’)
문자 > 날짜 : to_date(문자,’날짜형식’)
숫자 < 문자 : to_number(문자,’숫자형식’)

외부 조인

select pname, dname 
from prof p, depart d 
where p.deptno = d.deptno(+);

실행결과

서철구	컴퓨터공학과 
장민주	컴퓨터공학과 
오태수	컴퓨터공학과 
홍성현	컴퓨터공학과 
홍금인	컴퓨터과학과 
김기수	컴퓨터과학과 
이순신	컴퓨터과학과 
김병철	정보처리학과 
김현균	정보처리학과 
이용신	정보처리학과 
김진곤	전자정보공학과 
박재우	전자정보공학과 
고재우	전자정보공학과 
장철수	전기공학과 
손성민	전기공학과 
민병관	전기공학과 
최현판	물리학과 
최철환	물리학과 
문병인	물리학과 
안태순

 

SQL 기타비교연산자 Null

  • NULL연산자에는 IS NULL 연산자와 IS NOT NULL 연산자가 있습니다.
  • NULL 연산자는 NULL 여부를 검사합니다.
  • NULL값은 어떤 값과도 동일 여부를 판별할 수 없으므로 동등 연산자 ( = )를 사용하여 조회할 수 없습니다.

SQL 기타비교연산자 Like

LIKE연산자를 사용하면 검색할 값을 정확하게 알지 못하는 경우 문자 패턴이 일치하는 행을 표시할 수 있습니다.

기호 설명
% 0개 이상의 일련의 문자를 나타냅니다.
_ 문자 하나를 나타냅니다.

 

와일드문자를 사용할 수 있으나, like를 제외한 나머지는 와일드 문자를 사용할 수 없습니다.

 

SQL IN연산자

IN 연산자를 사용하면 특정 집합에 있는 값의 행을 표시할 수 있습니다.

또, 모든 데이터 유형에 사용할 수 있습니다.

select sname, year, saddr 
from std 
where year in (2,3);

실행결과

sql in result