개인적으로 많이 사용하는 것은 형광펜으로 마킹했습니다.
1. 문자열 값 (Single Quotes)
문자열 값을 쿼리에서 사용할 때는 반드시 단일 따옴표 (')를 사용합니다.
SELECT *
FROM employees
WHERE first_name = 'John';
2. 날짜 및 시간 값 (Single Quotes)
날짜 및 시간 값도 문자열처럼 단일 따옴표로 감싸야 합니다.
SELECT *
FROM employees
WHERE hire_date = '2023-06-25';
3. 컬럼 및 테이블 이름 (Backticks)
컬럼이나 테이블 이름에 예약어가 포함되거나, 공백, 특수 문자 등이 포함된 경우 따옴표(``)을 사용합니다.
SELECT `select`, `from`, `order`
FROM my_table;
4. SQL 예약어 회피 (Backticks)
SQL 예약어를 컬럼 이름으로 사용해야 할 때 백틱을 사용합니다.
SELECT `select`, `table`, `index` FROM `data`;
5. 조인 및 서브쿼리에서의 별칭 (As Keyword with Backticks)
별칭을 사용할 때 따옴표를 사용하여 혼동을 피합니다.
SELECT e 'first_name', d 'department_name'
FROM 'employees' AS e
JOIN `departments` AS d
ON e.`department_id` = d.`department_id`;
6. 문자열 결합 (Concatenation)
문자열 결합 시 따옴표를 올바르게 사용하여 오류를 방지합니다.
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;
7. JSON 데이터 및 키 (Single Quotes for Values, Double Quotes for JSON Keys)
JSON 데이터를 다룰 때는 내부 값에 단일 따옴표, JSON 키에는 이중 따옴표를 사용합니다.
SELECT JSON_EXTRACT(`json_column`, '$.key')
FROM json_table
WHERE json_column = '{"key": "value"}';
8. LIKE 문 (Single Quotes with Wildcards)
LIKE 연산자를 사용할 때도 단일 따옴표와 와일드카드 문자를 조합합니다.
SELECT *
FROM employees
WHERE first_name LIKE 'Jo%';
주의사항 요약
- 문자열 값: 단일 따옴표 사용.
- 날짜 및 시간 값: 단일 따옴표 사용.
- 컬럼 및 테이블 이름: 예약어 및 특수 문자가 포함된 경우 백틱 사용.
- SQL 예약어: 컬럼 및 테이블 이름으로 사용할 때 백틱 사용.
- 별칭 사용: 백틱 사용으로 명확히 구분.
- 문자열 결합: 적절한 따옴표 사용으로 오류 방지.
- JSON 데이터: 내부 값은 단일 따옴표, 키는 이중 따옴표 사용.
- LIKE 문: 단일 따옴표와 와일드카드 문자 결합.
추가 팁
- SQL 인젝션 공격을 방지하기 위해 항상 사용자 입력을 처리할 때는 적절한 방법을 사용하십시오.
- 쿼리를 작성할 때 가독성을 높이기 위해 코드 스타일을 통일하는 것이 좋습니다.
반응형
'Programming > SQL' 카테고리의 다른 글
[TIL 0627] SUBQUERY (스칼라 서브쿼리) (0) | 2024.06.27 |
---|---|
[TIL 0626] GROUP BY 와 HAVING (0) | 2024.06.26 |
[프로그래머스 SQL] 동명 동물 수 찾기 (0) | 2024.06.26 |
[프로그래머스 SQL] 문제풀이 (정렬, 중복제거) (0) | 2024.06.25 |
[TIL 0624][SQL] DBeaver 를 통해 느낀점. (0) | 2024.06.24 |