1. 기본 구조
- From 절에서 department 테이블과 Student 테이블을 카티션 프로덕트한다.
- 밑의 관계대수와 같은 의미이다.
* 일반적으로 카티션 프로덕트 보다는 조인이나 자연 조인을 사용한다.
< 오라클에서 조인 사용법 >
1) SELECT s.name, d.dept_name
FROM Student s, Department d
WHERE s.dept_id = d.dept_id
AND d.dept_name = '컴퓨터공학과';
2) SELECT s.name, d.dept_name
FROM Student s INNER JOIN Department d <-- INNER 생략 가능
ON (s.dept_id = d.dept_id) <-- () 생략 가능
WHERE d.dept_name = '컴퓨터공학과';
3) SELECT s.name, d.dept_name
FROM Student s INNER JOIN Department d <-- INNER 생략 가능
USING (dept_id) <-- () 필요. 컬럼 앞에 alias 접두사 사용 불가 (s.dept_id X)
WHERE d.dept_name = '컴퓨터공학과';
4) SELECT s.name, d.dept_name
FROM Student s NATURAL JOIN Department d <-- join 조건 생략
WHERE d.dept_name = '컴퓨터공학과';
< 여러 개의 조건을 하고 싶을 때 >
1) SELECT s.name, d.dept_name, c.col_name
FROM (Student s JOIN Department d ON s.dept_id = d.dept_id) <-- () 생략 가능
JOIN Collage c ON d.col_id = c.col_id
WHERE c.col_name = '정보과학대학';
2) SELECT s.name, d.dept_name, c.col_name
FROM Student s JOIN Department d USING (dept_id)
JOIN Collage c USING (col_id)
WHERE c.col_name = '정보과학대학';
2. 두 개 이상의 테이블이 포함된 질의
3. 레코드 정렬 : ORDER BY
-> 기본적으로 오름차순 정렬이다.
* 내림차순 정렬하려면 해당 필드명 뒤에 'desc'를 붙여주면 된다.
4. 재명명 연산
* 주의 *
특정 테이블에만 존재하는 변수의 테이블명은 생략 가능하다.
- 셀프 조인
- 필드의 재명명
5. LIKE 연산자
: 일부분만 일치하는 경우를 찾아야 할 때
< 문자열 패턴 >
_ : 임의의 한 개 문자에 대응
% : 임의의 여러 개 문자들에 대응
'Computer Science > Database' 카테고리의 다른 글
SQL 5) 중첩 질의 (서브쿼리 subquery) (0) | 2020.10.21 |
---|---|
SQL 4) 집합 연산, 외부 조인, 집계 함수 (0) | 2020.10.20 |
SQL 2) DML : 삽입, 수정, 삭제, 검색 (0) | 2020.10.20 |
SQL 1) SQL 기본, DDL (0) | 2020.10.20 |
Oracle 오라클 테이블 스페이스 명령어 (0) | 2020.10.16 |