1. DISTINCT : 중복행 출력 금지
- 단일 칼럼에서 DISTINCT 키워드 사용 예
-- 학과 번호만 조회(오름차순 정렬)
SELECT DEPTNO FROM STUDENT ORDER BY 1;
-- 위와 동일. ALL은 생략 가능하다.
SELECT ALL DEPTNO FROM STUDENT ORDER BY 1;
-- 학과 번호만 조회(오름차순 정렬) / 중복값 제거
SELECT DISTINCT DEPTNO FROM STUDENT ORDER BY 1;
- 복수 칼럼에서 DISTINCT 키워드 사용 예
-- 학생테이블에서 중복되는 학과번호, 학년 제외하고 출력하여라.
SELECT DISTINCT DEPTNO, GRADE FROM STUDENT ORDER BY 1, 2;
2. 합성 연산자 : Concatenation('||')
하나의 칼럼과 다른칼럼, 산술표현식, 상수값을 연결하여 하나의 칼럼처럼 출력할 경우에 사용
-- 학생 테이블에서 학번과 이름 칼럼을 연결하여
-- "Student"라는 별명을 하나의 칼럼처럼 연결하여 출력하여라.
SELECT STUDNO || ' ' || NAME "Student" FROM STUDENT;
3. 산술 연산자 : '+', '-', '*', '/'
숫자 또는 날짜 타입에만 사용 가능하며, 수학에서의 산술연산자의 우선순위와 동일(괄호를 사용하여 우선순위 변경 가능)
-- 학생의 몸무게를 pound로 합산하고
-- 칼럼 이름을 "weight_pound"라는 별명으로 출력하여라. 1kg은 2.2pound이다.
SELECT STUDNO, NAME, WEIGHT, WEIGHT*2.2 "weight_pound" FROM STUDENT;
4. 연산자 우선순위
우선순위 | 연산자 |
1 | 비교연산자(=, !=, <>, <, <=, >, >= ) SQL 연산자(BETWEEN, IN, LIKE, IS NULL) |
2 | NOT |
3 | AND |
4 | OR |
- 연산자 간 우선순위 ★
괄호 > 모든 비교 연산자 > NOT > AND > OR
-- 102번 학과의 학생 중에서 1학년 또는 4학년 학생의 이름, 학번, 학과번호를 출력하여라.
SELECT NAME, GRADE, DEPTNO
FROM STUDENT
WHERE
DEPTNO = 102
AND (GRADE = '1' OR GRADE = '4')
;