728x90
1. SELECT a (문자) → "찾아라!"
SQL에서 따옴표 없는 문자(a, name, grade 등)를 만나면, 데이터베이스는 이것을 "주소(컬럼 이름)"라고 생각.
- 명령: "야, 창고에 가서 a라는 이름표가 붙은 상자를 찾아서 그 안의 내용을 가져와!"
- 결과: 창고(테이블)에 a라는 상자가 없으면? "그런 상자 없는데요?" (Error)라고 반환.
2. SELECT 1 (숫자) → "적어라!"
반면에 SQL에서 숫자(1, 100, 200 등)를 만나면, 이것은 주소가 아니라 "값(Value) 그 자체"라고 생각.
- 명령: "야, 창고 뒤질 필요 없고... 그냥 종이에 숫자 1이라고 적어서 가져와."
- 결과: 창고에 상자가 있든 없든 상관없이, 그냥 무조건 1을 적어서 반환.
3. 만약 진짜로 "1"이라는 이름의 컬럼이 있다면?
그렇다면 "1이라는 이름의 컬럼을 가져와!"라고 시키고 싶을 땐?
그때는 쌍따옴표(")를 써서 "이건 숫자가 아니라 이름이야!"라고 표시.
- SELECT 1: (숫자) 그냥 1을 적어라.
- SELECT "1": (이름) "1"이라는 이름표가 붙은 컬럼을 찾아라.
728x90
'Web > 개념정리' 카테고리의 다른 글
| [개념정리] Cookie VS Session (0) | 2025.02.04 |
|---|---|
| [개념정리] Mutation XSS (0) | 2024.06.25 |
| [개념정리] Dompurify (0) | 2024.06.23 |
| [개념정리] Prototype Pollution (0) | 2024.06.05 |
| [개념정리] PHP Deserialization 취약점 (0) | 2024.05.26 |