1. [SQL] SQL 활용 例)
ㅇ SELECT 결과 집합의 행 번호 매기기
- ORACLE : rownum
- MySQL : @rownum (세션 변수 활용)
. SET @rownum:=0; SELECT (@rownum:=@rownum+1) AS num, ... FROM 테이블명 ...
. SELECT (@row_number:=@row_number + 1) AS num, ...
FROM (SELECT @row_number:=0) AS t, 테이블명 ...
ㅇ Top N 쿼리 (저장된 순서에 의해)
- ORACLE : SELECT colnames FROM tablename WHERE ROWNUM <= N
- SQL Server : SELECT TOP(N) colnames FROM tablename
- MySQL : SELECT colnames FROM tablename LIMIT N
ㅇ 중복값 찾기
- SELECT t1, count(*) as num FROM test GROUP BY t1 HAVING num>1;
ㅇ 일치 않는 레코드 찾기
- SELECT columns FROM tables WHERE col1 NOT IN (서브쿼리)
- SELECT columns FROM tables WHERE NOT EXISTS (특정 조건 컬럼 반환 서브쿼리)
2. [SQL] SQL 조건식 구현
ㅇ (조건 분기) CASE 식
- 조건 분기를 하며, 함수와 같은 성격을 갖음
. 조건 식에 따라 분기
- 구문 형식
CASE WHEN <평가식> THEN <식>
WHEN <평가식> THEN <식>
...
ELSE <기타식>
END
- 적용 가능 위치
. SELECT, WHERE, GROUP BY, HAVING, ORDER BY 내 적용 가능
- 표현 방법 구분
. Simple Case Expression (단순 CASE 식)
. Searched Case Expression (검색 CASE 식)
ㅇ (조건 술어) 쿼리 추출 조건을 기술하는 술어(Predicate)
- 술어 종류
. LIKE : 문자열 부분 일치의 검색 (전방 일치, 중간 일치, 후방 일치)
. BETWEEN
. IS NULL(IS NOT NULL)
. IN
. EXISTS
3. [참고사항]
ㅇ SELECT 관련 구문 ☞ SELECT 구문 참조
ㅇ 테이블의 생성 및 변경 ☞ 테이블 생성 변경 참조
ㅇ 다중 테이블에 대한 SQL JOINs ☞ SQL JOINs 참조
ㅇ SQL 관련 함수 ☞ SQL 함수 참조