1️⃣ SELECT
🔹 용도
👉 데이터를 조회할 때 사용
🔹 사용법
SELECT 컬럼1, 컬럼2
FROM 테이블;
SELECT u.nickname AS 사용자명
u.nickname : 실제 DB 컬럼
AS 사용자명 : 결과에서 보여줄 이름(별명)
👉 DB 값은 안 바뀌고 화면에 어떻게 보일지만 바뀜
2️⃣ AS (별칭, Alias)
🔹 용도
👉 컬럼이나 테이블 이름을 짧게 / 보기 좋게 바꿀 때
🔹 사용법
SELECT 컬럼명 AS 별명
FROM 테이블명 AS 별명;
tbl_order o
→ tbl_order를 o라고 부르겠다는 뜻
(타이핑 줄이고 가독성 ↑)
3️⃣ FROM
🔹 용도
👉 조회 기준이 되는 테이블 지정
🔹 사용법
FROM 테이블명
FROM tbl_order o
👉 “주문 테이블을 기준으로 조회 시작”
4️⃣ JOIN (INNER JOIN)
🔹 용도
👉 두 테이블을 공통 컬럼으로 연결
🔹 사용법
JOIN 테이블B
ON 테이블A.컬럼 = 테이블B.컬럼
JOIN tbl_app_user_account u
ON u.id = o.account_id
👉 주문한 사람 정보를 붙이기
🔹 특징
조건이 맞는 데이터만 나옴
연결 안 되면 결과에서 제외됨
5️⃣ LEFT JOIN
🔹 용도
👉 기본 테이블 데이터는 유지 + 연결되면 붙이기
🔹 사용법
LEFT JOIN 테이블B
ON 조건
LEFT JOIN tbl_parking_item pi
👉 주문은 무조건 보여주고
👉 주차권 상품 정보는 있으면 붙이고 없으면 NULL
🔹 실무 팁
“있을 수도 있고 없을 수도 있는 정보” → LEFT JOIN
로그, 옵션, 부가정보 조회할 때 자주 씀
6️⃣ ON
🔹 용도
👉 JOIN할 때 테이블 연결 조건 지정
🔹 사용법
ON A.id = B.a_id
ON pi.company_parking_item_id = o.company_parking_item_id
👉 주문이 어떤 상품을 샀는지 연결
7️⃣ WHERE
🔹 용도
👉 조건으로 데이터 필터링
🔹 사용법
WHERE 조건
WHERE o.order_name = '2020041810222721477'
👉 특정 주문(주차권번호)만 조회
8️⃣ CASE WHEN
🔹 용도
👉 값을 조건에 따라 변환해서 보여주기
🔹 사용법
CASE
WHEN 조건 THEN 값
ELSE 값
END
WHEN pi.type = 'TIME' THEN '시간권'
👉 코드값 → 사람이 이해하기 쉬운 값으로 변환
9️⃣ 문자열 비교 ('...')
🔹 용도
👉 문자형 컬럼 비교
🔹 사용법
WHERE 컬럼 = '문자값'
👉 숫자처럼 보여도 문자열이면 따옴표 필수