SQL 알고리즘

hong·2023년 9월 15일

✔︎ SQL 기본 구조

SELECT {컬럼명}

FROM {테이블명}

[WHERE 조건]

[GROUP BY Group대상]

[ORDER BY 정렬대상 (ASC/DESC])]

✔︎ NULL 값 검색하는 방법

  • mysql에서 특정 조건을 충족하는 데이터를 가져올 때는 WHERE 절에 = 연산자를 사용한다.
  • 하지만 값이 NULL인 데이터를 조회할 때는 아래와 같은 방법으로는 검색이 되지 않는다.

SELECT * FROM {테이블명}
WHERE {컬럼명}=NULL;

⭕️

IS NULL 이라는 연산자를 사용하여 NULL 값을 검색할 수 있다.

SELECT * FROM {테이블명}
WHERE {컬럼명} IS NULL;

반대로, NULL 값이 아닌 데이터들을 검색하고 싶다면 IS NOT NULL을 사용하면 된다.

SELECT * FROM {테이블명}
WHERE {컬럼명} IS NOT NULL;

✔︎ ORDER BY 쿼리, desc 사용

  • ORDER BY 는 테이블에서 특정 열 데이터를 정렬하고 싶을 때 사용한다.
SELECT * FROM {테이블명}
ORDER BY {컬럼명};
  • 내림차순으로 정렬하고 싶을 경우에는 DESC 키워드를 사용하면 된다.
SELECT * from {테이블명}
ORDER BY {컬럼명} DESC;
  • 정렬 기준을 여러 개로 설정할 경우에는 콤마(,)로 원하는 만큼 이어주면 된다.
  • 컬럼명1 기준으로 값이 같을 경우, 뒤에 조건으로 정렬 기준을 판별한다.
SELECT * from {테이블명}
ORDER BY {컬럼명1}, {컬렴명2} DESC, {컬럼명3};

✔︎ LIMIT

  • SELECT 문 끝에 LIMT 시작할 지점, 표시할 개수를 통해 특정 개수의 데이터를 출력한다.
SELECT * FROM {테이블명}
ORDER BY {컬럼명}
LIMIT {시작할 행, 표시할 개수}
SELECT * FROM {테이블명}
ORDER BY {컬럼명}
LIMIT {표시할 개수} // -> 시작할 행을 지정하지 않은 경우, 0번째 행부터

✔︎ SELECT문에서 NULL 값 치환

  • 값이 NULL이면 🔷으로 치환하여 반환
SELECT IFNULL({컬럼명}, 🔷) AS {출력하려는 컬럼명}
FROM {테이블명}

✔︎ LIKE 연산자와 와일드카드

  • LIKE 연산자는 WHERE절에서 열의 지정된 패턴을 검색하는데 사용된다.
  • % : 하나 이상의 character
  • _ : 하나의 character

ex)

LIKE OperatorDescription
where {컬럼명} like 'a%'"a"로 시작하는 모든 값
where {컬럼명} like '%a'"a"로 끝나는 모든 값
where {컬럼명} like '%good%'"good"이 포함된 모든 값
where {컬럼명} like '_r%'두번째 인덱스에 "r"이 있는 모든 값
where {컬럼명} like 'a%%'"a"로 시작하며 최소 3글자 이상인 모든 값
where {컬럼명} like 'a%o'"a"로 시작하여 "o"로 끝나는 모든 값

✔︎ 집계 함수

  • 컬럼의 합계를 계산하는 함수
 SUM({컬럼명})
  • 컬럼의 평균을 계산하는 함수
 AVG({컬럼명})
  • 컬럼의 총 개수를 계한하는 함수
 COUNT({컬럼명})
  • 컬럼에서 가장 큰 값/작은 값을 찾아주는 함수
 MAX({컬럼명})
 MIN({컬럼명})

✔︎ 소수점 반올림

  • 반올림 ROUND(값, 반올림 자릿수)

ex)

ROUND(123.567, 0)  # 124.000 <- 소수 첫번째 자리에서 반올림
ROUND(123.567, 1)  # 123.600  <- 소수 두번째 자리에서 반올림
ROUND(123.567, 2)  # 123.570 <- 소수 세번째 자리에서 반올림
ROUND(56789, -1)   # 56790 <- 정수 첫번째 자리에서 반올림
ROUND(56789, -2)   # 56800 <- 정수 두번째 자리에서 반올림


Reference:

0개의 댓글