저는 컬럼 이름에 있는 글자도 문자열이니 작은 따옴표를 써야한다고 생각했어요. 하지만 아니었죠. 컬럼 이름은 따옴표가 필요 없고 컬럼 값에만 따옴표를 넣어줘야합니다. 이번 계기로 언제 작은 따옴표를 써야하는지 알아볼게요.

SQL에서 문자열(string) 데이터는 항상 작은 따옴표('')로 감싸야 해요.
문자열(String) → 작은 따옴표('') 필요
WHERE day_of_the_week = 'Weekend'
Weekend는 문자열 데이터이므로 'Weekend'로 감싸야 해요.' ' 없이 WHERE day_of_the_week = Weekend라고 하면, SQL은 Weekend를 컬럼 이름이나 변수로 인식하려고 해서 오류가 발생해요.숫자(Number) → 작은 따옴표('') 필요 없음
WHERE price > 10000
WHERE price = '10000' 처럼 작은 따옴표를 사용하면, SQL은 10000을 문자열(string)로 처리해서 데이터가 정상적으로 조회되지 않을 수도 있어요.날짜(Date) → 작은 따옴표('') 필요
WHERE order_date = '2024-06-15'
WHERE order_date = 2024-06-15라고 하면 오류가 발생해요.❌ 잘못된 예제 (오류 발생)
WHERE day_of_the_week = Weekend -- (오류: Weekend가 컬럼이나 변수로 인식됨)
WHERE price = '10000' -- (숫자를 문자열로 인식, 의도한 결과 X)
WHERE order_date = 2024-06-15 -- (오류: 날짜는 작은 따옴표 필요)
✅ 올바른 예제 (정상 작동)
WHERE day_of_the_week = 'Weekend' -- (문자열은 작은 따옴표 필요)
WHERE price = 10000 -- (숫자는 작은 따옴표 필요 없음)
WHERE order_date = '2024-06-15' -- (날짜도 작은 따옴표 필요)
| 데이터 타입 | 작은 따옴표 필요? | 예제 |
|---|---|---|
| 문자열 (TEXT) | ✅ 필요 | WHERE category = 'Food' |
| 숫자 (NUMBER) | ❌ 필요 없음 | WHERE price > 5000 |
| 날짜 (DATE) | ✅ 필요 | WHERE order_date = '2024-06-15' |