[SQL 1주차] Point to check(distinct, LIMIT, HAVING, JOIN, NULL)

jay bong·2024년 4월 26일

SQL

목록 보기
8/9
post-thumbnail

2024.04.15(월)

주석 표현

SQL을 비롯한 다양한 프로그램을 사용하다보면, 세부적인 내용을 설명하거나 기록할 때 주석을 사용한다. 그러나 DBMS별로 공통적으로 사용하는 주석도 있지만, 각기 다르게 사용되는 방법도 있기 때문에 사용할 때 조심해야하고 알고 있어야 한다.

공통/*내용*/
오라클--내용
MySQL#내용

2024.04.16(화)

distinct 활용

statement distinct는 말 그대로 distinct(different) values, 즉 다른 값들을 return한다. table과 column에는 값은 값들을 가질 때가 많다. 하지만 우리는 중복되는 값을 제외하고 다른 값들만 조회하고 싶을 때가 있을 것이다.

distinct를 select와 함께 사용하게 되면 선택된 칼럼에서 중복되지 않는 칼럼만 보여준다.

distinct의 활용으로는 count와 함께 사용하는 방법이 있다.

Note: The COUNT(DISTINCT column_name) is not supported in Microsoft Access databases.

따라서 아래와 같은 방식으로 사용하여 count를 함께 사용할 수 있다.

SELECT Count(*) AS Distinct_Column
FROM 
(
SELECT DISTINCT Column 
FROM Table
)a
#서브쿼리에서 중복을 제거하고 사용

2024.04.17(수)

LIMIT

일반적으로 순위를 알고 싶을 때는 RANK()를 사용한다. RANK는 순위를 매기고 순번대로 출력해주기는 하나, 그 중 몇가지의 값들만 보고 싶다면 추가적인 조건을 생성해야 한다.
오름차순, 내림차순으로 정렬하는 order by절도 동일하다.

그럴 때 뭔하는 값 몇개만 조회하는 것으로 제한하고 싶을 때, limit 를 사용할 수 있다.

limit의 문법

select 칼럼
from 테이블
group by 칼럼
order by 칼럼
limit 숫자 # 몇개의 데이터를 조회할 건지

HAVING

HAVING절은 WHERE절과 동일하게 조건문으로 사용이 된다. 그러나 WHERE절은 group by 로 묶인 절들을 포함할 수 없지만, having절은 그룹으로 묶인 결과값들을 가지고 조건을 설정할 수 있다.
따라서 어떤 데이터를 활용하여 필터링할 것인지에 따라 둘 중 어떤 것을 사용할 지 잘 설정해야 한다.

*HAVING문법

select 기준컬럼, 집계함수(조건컬럼을 기준으로 여러개의 집계함수 동시사용 가능)   
from 테이블명
where 조건 #(그룹화 되지 않은 데이터에대한 조건)
group by 기준컬럼
having 조건식

2024.04.19(금)

null

테이블에 데이터가 있을 때, 일부 칼럼의 데이터가 필수적이지 않다면 데이터가 없는 경우가 있을 것이다. 그럴 때 값이 없는 경우 null로 표기한다.

0 은 데이터가 없다는 것 같지만, 정수 0으로 값이 없다는 데이터를 입력한 것이다. 따라서 다른 숫자형 데이터와 0은 비교할 수 있지만 null은 어떤 값과 비교할 수 없다.

따라서 null값을 활용할 때는 다음과 같이 사용한다.

null 사용

select 기준컬럼, 집계함수(조건컬럼을 기준으로 여러개의 집계함수 동시사용 가능)   
from 테이블명
where 비교데이터 IS NULL # IS NOT NULL
profile
Fly High

0개의 댓글