[SQLD] 핵심정리 (2) - SQL 기본

단일행 NULL 관련 함수의 종류


일반형 함수 

함수 설명 

NVL(표현식1, 표현식2) / ISNULL(표현식1, 표현식2) 

표현식1의 결과값이 NULL이면 표현식2의 값을 출력한다. 단, 표현식1과 표현식2의 결과 데이터 타입이 같아야 한다. NULL 관련 가장 많이 사용되는 함수이므로 상당히 중요하다. 

NULLIF(표현식1, 표현식2) 

표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴한다.

COALESCE(표현식1, 표현식2, ...) 

임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다. 모든 표현식이 NULL이라면 NULL을 리턴한다. 



SELECT 쿼리의 실행 순서

>>  FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY


WITH TIES 키워드

SELECT TOP(3) WITH TIES 팀명, 승리건수

FROM 팀별성적

ORDER BY 승리건수 DESC;


>> 팀별성적이 좋은 탑3를 승리건수 내림차순으로 조회하되 승리건수가 같으면 같이 가져와라.


테이블 조인 순서

- Join 이란 관계를 가진 키와 같은 컬럼을 이용해서 다른 테이블의 데이터를 가져올 수 있도록하는 두 테이블간의 결합키워드이다.

- Join은 FROM절에서 여러가지 테이블을 할 수 있으며 실질적인 JOIN은 단 두 테이블에서만 발생하고 그다음 테이블은 차례로 Join된다.

- ex) select * from A,B,C 가 있을때 실질적으로 A와 B가 일어나고 (A,B결과)와 C와 조인이 된다.


EQUI JOIN

- 처음엔 무슨 조인인지 몰랐는데 ANSI 표준 SQL로 말을 풀어보면 INNER JOIN과 같은 의미이다.

- PK와 FK로 두 테이블간의 조인을 하는 것.

- FROM 절에 여러 테이블이 온다면 2개의 테이블을 먼저 조인하고 나머지 차례로 조인한다.

- 관계가 있는 테이블들 간의 컬럼값들이 정확하게 일치하는 경우에 사용되는 방법이다.

- '=' 연산자에 의해서만 수행되며, 그 이외의 비교연산자를 사용하는 경우 모두 NON EQUI 조인이다.

- 대부분 NON EQUI 조인을 수행할 수 있지만, 설계때문에 수행이 불가능할 수도 있다.


ORDER BY

- select 컬럼1, 컬럼2, 컬럼3 from 테이블/뷰 ... order by 컬럼1; 다음과 같이 한다면 컬럼 1은 asc(오름차순) 기본정렬이다.

- order by 절에 기술할 수 있는 것은 컬럼리스트에 있는 값, 테이블에 존재하는 값, 컬럼리스트에 Alias로 정의된 값, 컬럼리스트의 순서를 나타내는 숫자.( 컬럼1같은경우는 1)

댓글

Designed by JB FACTORY