DISTINCT ์ค๋ณต ์ ๊ฑฐ
SELECT DISTINCT NAME
LIMIT ๊ฒฐ๊ณผ ๊ฐ์ ์ ํ (์์ ๋ช ๊ฐ๋ง ์ถ๋ ฅ)
# ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ๊ฐ์ฅ ์์ ๊ฒ๋ถํฐ 3๊ฐ ์ถ๋ ฅ
ORDER BY ID
LIMIT 3
IN ๋ค์ ์ค๋ ๋ฐ์ดํฐ์ ํฌํจ๋๋์ง ํ๋จ
# IN
WHERE ID IN (SELECT ID FROM ...)
# NOT IN
WHERE ID NOT IN (SELECT ID FROM ...)
IS NULL null์ธ์ง ํ๋จ
# IS NULL
WHERE A.ID IS NULL
# IS NOT NULL
WHERE A.ID IS NOT NULL
LIKE ๋ค์ ์ค๋ ๋ฌธ์์ด์ ํฌํจ๋๋์ง ํ๋จ
# ๋์ด AB๋ก ๋๋๋ NAME ์ฐพ๊ธฐ
WHERE NAME LIKE '%AB'
# AB๋ก ์์ํ๋ NAME ์ฐพ๊ธฐ
WHERE NAME LIKE 'AB%'
# AB๊ฐ ๋ค์ด๊ฐ๋ NAME ์ฐพ๊ธฐ
WHERE NAME LIKE '%AB%'
COUNT ๊ฐ์ ์ธ๊ธฐ
SELECT COUNT(ID)
ABS ์ ๋๊ฐ
SELECT ABS(-10)
HOUR ์๊ฐ๋ง ์ถ๋ ฅ
# YEAR, HOUR, MONTH, DAY ๋ฑ ๋
๋๋ถํฐ ์ด๊น์ง ์์
SELECT HOUR(DATETIME)
DATE_FORMAT ์๊ฐ ํํ ์กฐ์ (์ฐธ๊ณ : https://devjhs.tistory.com/89)
SELECT DATE_FORMAT(DATETIME, '%Y-%m-%d')
# ๋ค์ ์ ๋ ๋ฌธ์์ด์ ํํ์ ๋ค์ํ๊ฒ ํ ์ ์์
# '%Y-%m-%d' -> 2022, 02, 03
# '%y, %m, %d' -> 22, 02, 03
# '%y๋
%m์ %d์ผ' -> 22๋
02์ 03์ผ
POW ์ ๊ณฑ
# 10์ 2์ ๊ณฑ
SELECT POW(10, 2)
ROUND, TURNCATE ๋ฐ์ฌ๋ฆผ, ๋ฒ๋ฆผ
# ์๋ฆฟ์ ๊ธฐ์ค ๋ฐ์ฌ๋ฆผ
SELECT ROUND(1.234) # 1
SELECT ROUND(1.234, 1) # 1.2
SELECT ROUND(10.2) # 10
# ์๋ฆฟ์ ๊ธฐ์ค ๋ฒ๋ฆผ
SELECT TRUNCATE(1.234) # 1
SELECT TRUNCATE(1.234, 1) # 1.2
SELECT TRUNCATE(10.2) # 10
CASE ์กฐ๊ฑด๋ฌธ
# CASE WHEN THEN ELSE END ํ์์ผ๋ก ์ฌ์ฉ
SELECT
CASE
WHEN SEX_UPON_INTAKE LIKE "apple%"
THEN "O"
ELSE "X"
END
AS "APPLE"
IF ์กฐ๊ฑด๋ฌธ
# IF(์กฐ๊ฑด, True๊ฒฐ๊ณผ, False๊ฒฐ๊ณผ) ํ์์ผ๋ก ์ฌ์ฉ
SELECT IF(NAME LIKE '%apple', 'O', 'X') AS APPLE
= ๋น๊ต ์ฐ์ฐ์
# !=, >=, < ๋ฑ์ด ์์ง๋ง, =์ ๊ฒฝ์ฐ ==๊ฐ ์๋๋ผ =๋ก ์ฌ์ฉํ๋ค๋ ์
WHERE NAME = 'Dog'
SET ๋ณ์ ์ ์ธ
# @๋ฅผ ๋ถ์ฌ์ ํ๋ก์์ ๊ฐ ์ข
๋ฃ๋์ด๋ ์ ์ง๋๋๋ก ์ค์
# :=๋ฅผ ์ด์ฉํ์ฌ ๊ฐ ๋์
SET @num := -1;
SELECT (@num := @num + 1) AS NUM, (
SELECT COUNT(*) FROM TABLE_A WHERE @num = ID) AS COUNT
FROM TABLE_A
WHERE @num < 10
'6๏ธโฃ SQL > SQL ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL] DDL, DML, DCL, TCL ์์ฝ (0) | 2022.09.15 |
---|---|
[MySQL] INNER, OUTER JOIN ์ ๋ฆฌ (0) | 2022.02.03 |
๋๊ธ