데이터 무결성
...예시
id VARCHAR(20) CONSTRAINT PK_id FRIMARY KEY,
pwd VARCHAR(20) CONSTRAINT NN_pwd NOT NULL
제약 조건 설정
CREATE TABLE 테이블명(
속성명 속성타입 [[제약조건명] 제약조건],
속성명 속성타입
)
입력값의 제한
birthYear int CHECK(birthYear >= 1900) .. birthYear은 1900보다 크거나 같다
Age int CHECK(Age between 1 and 150) .. Age 는 1에서 150사이다
CREATE TABLE 테이블명(
속성명 속성타입
..
[CONSTRAINT 제약조건명]제약조건(속성명)
)
계약조건의 추가 및 제거
ADD CONSTRAINT
AS 키워드와 *
SELECT 속성명1, 속성명2 ...
FROM 테이블명
SELECT * FROM 테이블명
SELECT SALARY*12 AS YEARSAL FROM EMPLOYEE
.. EMPLOYEE의 봉급*12인 열을 추가하여 속성명을 YEARSAL로 변경
간단한 조건 검색
SELECT ENAME, DNO
FROM EMPLOYEE
WHERE ENO = 110
..
EMPLOYEE 에서 ENAME, DNO 열을 가져와 ENO가 110인 값을 가져옴
..
WHERE DNO = 20 AND SALARY >= 400
..
DNO가 20이면서 SALARY가 400이상이거나 같은 값을 가져옴
SQL은 Bag을 기반으로하여 중복된 것들도 다 나오므로 중복된 것을 제외하고 한 번만 나오게 해줌
SELECT DISTINCT JOB from EMPLOYEE
..
EMPLOYEE에서 JOB을 중복없이 검색
BETWEEN, IN, IS NULL
검색 조건의 상한과 하한을 정함
WHERE SALARY BETWEEN 400 AND 600
..
SALARY가 400보다 크거나 같고 600보다 작거나 같은 값을 검색
속성값이 a,b,c,… 중 하나라도 일치하면 참
WHERE JOB IN ('section' , 'senior')
..
JOB이 section이거나 senior인 값을 검색
NULL은 어떤 비교를 하든 거짓임
WHERE COMMISSION = NULL .. NULL은 무조건 거짓이라 결과가 없음
WHERE COMMISSION IS NULL .. NULL인 값이 검색됨
WHERE COMMISSION IS NOT NULL .. NULL이 아닌 값이 검색됨
문자열 검색
컬럼에 저장된 문자열 중에서 LIKE 연산자에서 지정한 문자 패턴과 부분적으로 일치하면 참이되는 연산자
부분 문자열 검색에 사용되는 패턴
- % : 임의의 길이의 문자열
- _ : 한글자
WHERE DNAME LIKE 'H%n' .. H로 시작해서 n으로 끝나는 값을 검색
ORDER BY 절
SELECT ENAME, SALARY FROM EMPLOYEE
ORDER BY SALARY DESC
..
SALRARY 기준 내림차순으로 출력됨
..
SELECT ENAME, SALARY FROM EMPLOYEE
ORDER BY SALARY DESC, ENAME ASC
..
SALARY가 같은 행의 경우 ENAME의 오름차순으로 출력됨