기타/정리.zip

[MySQL] 코딩테스트 문법 정리

딩딩크롱 2023. 2. 23. 22:53
728x90

📌 SELECT

📂 UNION (ALL)

SELECT *
FROM customers
UNION  # 하나의 테이블로 합침 (중복값을 포함하고 싶은 경우 UNION ALL 사용)
SELECT city
FROM orders

 

📌 JOIN

 

📌 String, Date

📂 LIKE

WHERE NAME LIKE '%A%'  # NAME 컬럼 값이 A가 포함된 경우를 조회
WHERE NAME LIKE 'A%'  # NAME 컬럼 값이 A로 시작하는 경우를 조회
WHERE NAME LIKE '%A'  # NAME 컬럼 값이 A로 끝나는 경우를 조회

📂 SUBSTRING() / SUBSTR()

SUBSTRING(문자열, 시작 위치, 길이)
SUBSTR(문자열, 시작 위치, 길이)

📂 CONCAT()

CONCAT('My', 'S', 'QL')  # 문자열 합침 ('MySQL')

📂 REGEXP_SUBSTR()

REGEXP_SUBSTR(MEMBER_ID, '[^0-9]+')  # 앞 문자열
REGEXP_SUBSTR(MEMBER_ID, '[0-9]+')  # 뒤 숫자

📂 LPAD(), RPAD()

LPAD(문자열, 길이, 채울 문자)  # 왼쪽에 추가
RPAD(문자열, 길이, 채울 문자)  # 오른쪽에 추가

📂 LEFT(), RIGHT()

LEFT(문자열, 길이)
RIGHT(문자열, 길이)

📂 DATE_FORMAT()

DATE_FORMAT(날짜, '%Y-%m-%d %t')  # 날짜 형식 변환

📂 DATEDIFF(), TIMEDIFF()

DATEDIFF(날짜1, 날짜2)  # 날짜 차이 반환
TIMEDIFF(날짜1, 날짜2)  # 시간 차이 반환

📂 YEAR(), MONTH(), DAY(), HOUR(), MINUTE(), SECOND()

YEAR(날짜)
MONTH(날짜)
DAY(날짜)
HOUR(날짜)
MINUTE(날짜)
SECOND(날짜)

 

📌 IS NULL

📂 IS (NOT) NULL

WHERE NAME IS NULL
WHERE NAME IS NOT NULL

📂 IFNULL()

SELECT IFNULL(NULL, '대체 텍스트')  # 데이터가 NULL인 경우 다른 값으로 출력

📂 COALESCE()

SELECT COALESCE(NULL, NULL, 'A', NULL, 'B')  # 목록에서 NULL이 아닌 첫번째 값 반환

 

📌 조건문

📂 CASE  WHEN

CASE
	WHEN 조건1 THEN '반환값1'
    WHEN 조건2 THEN '반환값2'
    ELSE '반환값3'
END

📂 IF()

IF(조건, 결과가 true일 때 값, 결과가 false일 때 값)

 

📌 형변환

📂 CONVERT()

CONVERT(height, signed)

📂 CAST()

CAST(height AS signed)

 

📌 기타

📂 LIMIT : 행 수 제한

LIMIT 3
LIMIT 0, 3  # 0번부터 3개

📂 DISTINCT : 중복 제거

SELECT COUNT(DISTINCT NAME)

📂 CEIL(), FLOOR(), ROUND() : 올림, 버림, 반올림

SELECT CEIL(10, 1)  #소수점 첫째자리에서 올림
SELECT FLOOR(10, 1)  #소수점 첫째자리에서 버림
SELECT ROUND(10, 1)  #소수점 첫째자리에서 반올림
728x90