오랜만에 돌아온 SQL 쿼리 공부
요새 업무를 하다 보면 SQL을 정말 많이 사용하고 있는데.. LLM 모델의 뛰어난 성능 때문인지 간단한 수식 조차 기억이 나지 않을 때가 많다.
그런 의미에서 다시 시작해보는 SQL 공부.
아래 모든 내용은 SQLBolt 사이트에서 참조한 내용들이다.
-- 테이블 내 특정 컬럼만 조회하는 경우
SELECT BOOK_ID, LEFT(PUBLISHED_DATE, 10)
FROM BOOK
-- 테이블 내 전체 컬럼 조회
SELECT *
FROM BOOK

-- 2020년 ~ 2025년 사이에 출간되지 않은 책 출력
SELECT *
FROM BOOK
WHERE YEAR NOT BETWEEN 2020 AND 2025

-- %의 경우 TOY로 시작하는 단어를 뜻하지만, _의 경우 뒤 한 자리를 의미함.
SELECT *
FROM BOOK
WHERE BOOK_NAME LIKE 'TOY_'
-- 출간된 책을 순서대로 확인하되, 3번째와 4번째를 조회하는 경우 활용
SELECT *
FROM BOOK
ORDER BY YEAR DESC
LIMIT 2 OFFSET 2


SELECT DISTINCT column, AGG_FUNC(column_or_expression), …
FROM mytable
JOIN another_table
ON mytable.column = another_table.column
WHERE constraint_expression
GROUP BY column
HAVING constraint_expression
ORDER BY column ASC/DESC
LIMIT count OFFSET COUNT;
INSERT INTO mytable
(column, another_column, …)
VALUES (value_or_expr, another_value_or_expr, …),
(value_or_expr_2, another_value_or_expr_2, …),
…;
UPDATE TABLE
SET COLUMN = 'NEW VALUE'
WHERE CONDITION
DELETE FROM TABLE
WHERE CONDITION
CREATE TABLE IF EXISTS TABLE (
COLUMN_A DATATYPE CONSTRAINT DEFAULT DEFAULT_VALUE
COLUMN_B DATATYPE CONSTRAINT DEFAULT DEFAULT_VALUE
);
ALTER TABLE TABLE
ADD COLUMN DATATYPE CONSTRAINT
DEFAULT DEFAULT_VALUE
DROP TABLE IF EXISTS TABLE;