SQL

[1127 TIL] SQL 작성 시 명명 규칙과 주석 처리 방법, null값의 의미, 조건연산자 필터링

sjy0074 2024. 11. 27. 21:56

SQL 라이브세션 2회차를 수강하며 새롭게 배운 몇 가지에 대해 적어보려 한다.

 

-명명규칙

테이블과 변수(컬럼) 이름을 잘 명명해야 하는데, 일관된 형식 유지가 중요하다. (소문자 사용UserName(X) username(O), 예약어와 공백 피하기, 약어 사용 최소화하기)

 

-주석처리

주석은 코드의 의도를 설명할때, 특정코드를 비활성화할때 사용한다. 

이는 코드의 목적을 설명하거나 실행방지, 가독성 증가를 위해 사용한다.

- 혹은 # 으로 시작하며, 한줄에 설명을 추가할 때 사용한다. 

여러줄 주석 : /*      */로 시작하고 끝나며, 여러 줄의 설명을 추가하거나, 실행을 방지하려는 코드블록을 감쌀 때 쓴다.

 

-NULL 은 "값이 없다"는 것을 의미

숫자 0 이나 빈문자열""과는 다르다!

= 나 !=로 확인할 수 없다 비교할 수 없는 값으로 간주되기 때문.

 

-NOT NULL이란?

특정 칼럼에 null값을 허용하지 않도록 설정하는 제약조건

 

 

-데이터 중복 제거 : DISTINCT

select distinct city

from employees;

근무도시가 중복없이 조회하는 방법이다.

 

-갯수 제한 : LIMIT

상위 5개만 조회

SELECT *

from employees

order by age desc

limit 5;

 

-offset : 건너뛸 행의 수

-count : 그 이후에 가져올 행의 수

 

-where 절로 조건에 맞는 데이터 조회하기

-between 20 and 30

20이상 30 이상의 값만 조회 

-in과 not in

where city in ('seoul', 'busan');

이면 특정 도시에서 근무하는 직원조회가 가능

 

-like와 와일드카드

like는 특정 패턴과 일치하는 데이터를 필터링한다. 와일드카드%와 _ 를 활용해 정밀한 조건을 걸 수 있다.

-- 이름이 '김'으로 시작하는 직원 조회

SELECT *

FROM employees

WHERE name LIKE '김%';

 

-and 와 or

-<> 는 != 와 같은 기능이다

특정 조건을 만족하지 않는 데이터를 필터링 할 수 있다.

 

-연산자 우선순위가 있지만 이는 다 외울 수 없으므로 쿼리 짤 때 괄호를 잘 활용해야 함!

 

-case when 

CASE WHEN 실행 순서

CASE WHEN 절은 위에서 아래로 순차적으로 실행, 첫 번째로 참인 조건이 실행됨. 조건을 모두 만족하지 않으면 ELSE 절이 실행됨

SELECT name, age,

CASE

  WHEN age < 30 THEN '청년'

  WHEN age BETWEEN 30 AND 50 THEN '중년'

  ELSE '노인' END AS age_group

FROM employees;