조회 (SELECT)조건 (WHERE)정렬 (ORDER BY)집계 함수조인 (JOIN)삽입 (INSERT)수정 (UPDATE)삭제 (DELETE)테이블 관리제약 조건서브쿼리문자열/날짜 함수
#조회 (SELECT)
| 명령어 | 설명 | |
|---|---|---|
SELECT * FROM table | 모든 컬럼 조회 | |
SELECT col1, col2 FROM table | 특정 컬럼 조회 | |
SELECT DISTINCT col FROM table | 중복 제거 조회 | |
SELECT col AS alias FROM table | 별칭 사용 | |
SELECT * FROM table LIMIT 10 | 결과 개수 제한 | |
SELECT * FROM table OFFSET 5 | 결과 건너뛰기 |
#조건 (WHERE)
| 명령어 | 설명 | |
|---|---|---|
WHERE col = value | 같음 | |
WHERE col <> value | 같지 않음 | |
WHERE col > value | 초과 | |
WHERE col >= value | 이상 | |
WHERE col < value | 미만 | |
WHERE col <= value | 이하 | |
WHERE col BETWEEN a AND b | 범위 내 | |
WHERE col IN (v1, v2, v3) | 목록 중 하나 | |
WHERE col LIKE '%pattern%' | 패턴 매칭 | |
WHERE col IS NULL | NULL 체크 | |
WHERE col IS NOT NULL | NOT NULL 체크 | |
WHERE cond1 AND cond2 | AND 조건 | |
WHERE cond1 OR cond2 | OR 조건 | |
WHERE NOT condition | NOT 조건 |
#정렬 (ORDER BY)
| 명령어 | 설명 | |
|---|---|---|
ORDER BY col | 오름차순 정렬 | |
ORDER BY col ASC | 오름차순 (명시적) | |
ORDER BY col DESC | 내림차순 정렬 | |
ORDER BY col1, col2 | 다중 컬럼 정렬 | |
ORDER BY col NULLS FIRST | NULL 우선 | |
ORDER BY col NULLS LAST | NULL 마지막 |
#집계 함수
| 명령어 | 설명 | |
|---|---|---|
COUNT(*) | 행 개수 | |
COUNT(col) | NULL 제외 개수 | |
COUNT(DISTINCT col) | 고유값 개수 | |
SUM(col) | 합계 | |
AVG(col) | 평균 | |
MIN(col) | 최소값 | |
MAX(col) | 최대값 | |
GROUP BY col | 그룹화 | |
HAVING condition | 그룹 필터링 |
#조인 (JOIN)
| 명령어 | 설명 | |
|---|---|---|
INNER JOIN t2 ON t1.col = t2.col | 교집합 조인 | |
LEFT JOIN t2 ON t1.col = t2.col | 왼쪽 기준 조인 | |
RIGHT JOIN t2 ON t1.col = t2.col | 오른쪽 기준 조인 | |
FULL OUTER JOIN t2 ON ... | 전체 외부 조인 | |
CROSS JOIN t2 | 카테시안 곱 | |
SELF JOIN (t AS a, t AS b) | 셀프 조인 | |
NATURAL JOIN t2 | 자연 조인 |
#삽입 (INSERT)
| 명령어 | 설명 | |
|---|---|---|
INSERT INTO t (cols) VALUES (vals) | 단일 행 삽입 | |
INSERT INTO t VALUES (v1), (v2) | 다중 행 삽입 | |
INSERT INTO t SELECT ... | SELECT 결과 삽입 | |
INSERT INTO t DEFAULT VALUES | 기본값으로 삽입 |
#수정 (UPDATE)
| 명령어 | 설명 | |
|---|---|---|
UPDATE t SET col = val | 전체 행 수정 | |
UPDATE t SET col = val WHERE ... | 조건부 수정 | |
UPDATE t SET c1 = v1, c2 = v2 | 다중 컬럼 수정 | |
UPDATE t SET col = col + 1 | 기존 값 기반 수정 |
#삭제 (DELETE)
| 명령어 | 설명 | |
|---|---|---|
DELETE FROM t | 모든 행 삭제 | |
DELETE FROM t WHERE ... | 조건부 삭제 | |
TRUNCATE TABLE t | 테이블 비우기 (빠름) |
#테이블 관리
| 명령어 | 설명 | |
|---|---|---|
CREATE TABLE t (col type, ...) | 테이블 생성 | |
DROP TABLE t | 테이블 삭제 | |
ALTER TABLE t ADD col type | 컬럼 추가 | |
ALTER TABLE t DROP COLUMN col | 컬럼 삭제 | |
ALTER TABLE t RENAME TO new | 테이블 이름 변경 | |
CREATE INDEX idx ON t(col) | 인덱스 생성 | |
DROP INDEX idx | 인덱스 삭제 |
#제약 조건
| 명령어 | 설명 | |
|---|---|---|
PRIMARY KEY | 기본 키 | |
FOREIGN KEY REFERENCES t(col) | 외래 키 | |
UNIQUE | 고유 제약 | |
NOT NULL | NULL 불허 | |
DEFAULT value | 기본값 | |
CHECK (condition) | 조건 체크 | |
AUTO_INCREMENT / SERIAL | 자동 증가 |
#서브쿼리
| 명령어 | 설명 | |
|---|---|---|
WHERE col IN (SELECT ...) | IN 서브쿼리 | |
WHERE col = (SELECT ...) | 스칼라 서브쿼리 | |
WHERE EXISTS (SELECT ...) | EXISTS 서브쿼리 | |
SELECT (SELECT ...) AS col | SELECT 절 서브쿼리 | |
FROM (SELECT ...) AS t | FROM 절 서브쿼리 | |
WITH cte AS (SELECT ...) | CTE (공통 테이블 표현식) |
#문자열/날짜 함수
| 명령어 | 설명 | |
|---|---|---|
CONCAT(s1, s2) | 문자열 연결 | |
UPPER(str) / LOWER(str) | 대소문자 변환 | |
LENGTH(str) | 문자열 길이 | |
SUBSTRING(str, start, len) | 부분 문자열 | |
TRIM(str) | 공백 제거 | |
REPLACE(str, from, to) | 문자열 치환 | |
NOW() / CURRENT_TIMESTAMP | 현재 시간 | |
DATE(datetime) | 날짜 추출 | |
YEAR(date) / MONTH(date) | 연도/월 추출 | |
DATEDIFF(d1, d2) | 날짜 차이 |
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.