Coding Planet
[postgreSQL] 다중 업데이트 작업을 효율적으로 수행하는 방법 -문자열 합치기(concat), 작은 따옴표 처리 본문
DB, SQL
[postgreSQL] 다중 업데이트 작업을 효율적으로 수행하는 방법 -문자열 합치기(concat), 작은 따옴표 처리
jhj.sharon 2024. 6. 10. 10:45반응형
어떠한 테이블에서 문자열을 가지고와 다른 테이블을 수정한다면 일반적으로 select문으로 해당 값을 조회하고 update문을 작성하면 그만이다. 하지만 만약 이러한 작업이 여러번 이루어져야 한다면?
예를들어 `employee` 테이블에서 직원의 직무(`job_title`)를 가져와서 `employee_salary` 테이블의 급여 설명(`salary_description`)을 업데이트하는 로직을 생각해보자
일반적인 작업은 'employee'테이블에서 job_title을 조회하고 이 값을 이용하여 `employee_salary` 테이블을 업데이트하는 `UPDATE` 문을 작성한다.
- `employee` 테이블: 직원 정보를 저장하는 테이블
- `employee_salary` 테이블: 직원의 급여 정보를 저장하는 테이블
SELECT job_title FROM employee WHERE employee_id = '101';
-- 결과 Software Engineer
UPDATE employee_salary
SET salary_description = 'Software Engineer'
WHERE employee_id = '101';
한 두개 정도야 이렇게 할 수 있지만 다 수 일 경우 아래와 같이 자동화할 수 있다.
SELECT CONCAT(
'UPDATE employee_salary SET salary_description = ''',
job_title,
''' WHERE employee_id = ''',
employee_id,
''';'
)
FROM employee
WHERE employee_id = '101';
- `CONCAT` 함수: 여러 문자열을 하나로 결합한다.
- 작은따옴표(`'`) 처리: SQL 문 내에서 문자열을 표현하기 위해 중첩된 작은따옴표를 사용한다.
- 실제 아래와 같은 쿼리가 실행되게 된다.
UPDATE employee_salary SET salary_description = 'Software Engineer' WHERE employee_id = '101';
반응형
'DB, SQL' 카테고리의 다른 글
H2 동시접속 안되는 문제 해결하기(may be already in use) (1) | 2024.01.04 |
---|---|
[PostgreSQL] 테이블 스키마 복사하기, 데이터 복사하기 (0) | 2023.11.09 |
[SQLD] 윈도우 함수(Window Function) - 자주 사용하는 함수 모음 (0) | 2023.09.05 |
[SQLD]빈출 서브쿼리, 집합연산자, 합계 연산자 총정리(예시포함) (0) | 2023.09.05 |
[SQLD] 노랭이 87번 풀이 - START WITH...CONNECT BY PRIOR (3) | 2023.09.04 |
Comments