MYSQL 명령어 정리

EuiyeonKim·2022년 1월 30일
0
post-thumbnail

SELECT

선택한 열의 item 반환

SELECT * FROM tablename 	# 전체 item 반환
SELECT column1, column2 FROM tablename

ORDER BY

선택한 기준으로 오름차순, 내림차순 정렬

SELECT * FROM tablename ORDER BY column1 ASC		# c1 기준 오름차순 정렬
SELECT * FROM tablename ORDER BY column2 DESC		# c2 기준 내림차순 정렬
SELECT * FROM tablename ORDER BY column1 ASC, column2 DESC

WHERE

그룹화하기 전에 조건에 부합하는 item 반환

SELECT * FROM tablename WHERE column1='cond' 		# c1이 cond인 item 반환 

SELECT TOP N

TOP n개만 선택

SELECT * FROM tablename ORDER BY column1 ASC LIMIT n	# n개만 반환

MIN MAX

SELECT MIN(column1) FROM tablename 
SELECT MAX(column2) FROM tablename 

COUNT

갯수를 세서 반환 / NULL 값은 무시함

SELECT COUNT(*) FROM tablename 				# 전채 행 갯수
SELECT COUNT(column1) FROM tablename 		# c1 데이터 갯수

DISTINCT

중복되지 않는 것만 반환

SELECT DISTINCT(column1) FROM tablename
SELECT COUNT(DISTINCT(column1)) FROM tablename 

GROUP BY

SELECT column1 COUNT(*) FROM tablename GROUP BY(column1) 	
# c1 기준으로 그룹화 해서 각 item이 몇 개씩 있나 반환

HAVING

그룹화 되고 난 뒤에 사용하는 WHERE 문

SELECT column1 COUNT(*) FROM tablename GROUP BY(column1) HAVING COUNT(*)>1
# c1 기준으로 그룹화 해서 그룹의 아이템이 2개 이상일 때만 각 item이 몇 개씩 있나 반환

IS AS

SELECT * FROM tablename WHERE NOT (column1) IS NULL
SELECT colum1 AS c1, colum2 AS c2 FROM tablename

DATETIME

아래와 같은 방법으로 특정 data만 뽑아내기 가능

YEAR(DATETIME)
MONTH(DATETIME)
HOUR(DATETIME)

COALESCE

NULL 값을 대체

SELECT COALESCE(column1, 'no') FROM tableNAME
SELECT COALESCE(column1, column2, 'nono') FROM tableNAME
# c1이 null이면 c2, c2도 null이면 'nono'

IN

SELECT column1 FROM tableNAME
WHERE column1 IN ('case1', 'case2', 'case3')

LIKE

특정 문자열이 포함되어 있는지 검색 (%가 일반적인 *와 같은 역할)

SELECT column1 FROM tableNAME
WHERE LOWER(column1) LIKE '%something%'

IF

IF(조건, '참', '거짓')

JOIN

  • LEFT JOIN
  • JOIN
    진짜 순수 겹치는 element들만 반환
  • RIGHT JOIN
profile
병아리 딥러닝 개발자

0개의 댓글