SQL - 문제 미리보기

문제 1638

hard
다음 SQL 문에서 DBMS별로 다른 문법을 보여주는 부분은?
```sql
-- SQL Server
SELECT CustomerName,
Address + ', ' + City AS FullAddress
FROM Customers;

-- MySQL
SELECT CustomerName,
CONCAT(Address, ', ', City) AS FullAddress
FROM Customers;
```
A. AS 키워드 사용법
B. 문자열 연결(concatenation) 방법
C. 별칭 명명 규칙
D. FROM 절 구문

정답: B


DBMS별 문자열 연결 방법의 차이:
• 여러 컬럼을 하나로 합치는 문자열 연결 문법이 DBMS마다 다릅니다
• 이는 SQL 표준화가 완전하지 않은 영역 중 하나입니다

주요 DBMS별 문자열 연결 방법:

SQL Server / Access:
```sql
SELECT CustomerName,
Address + ', ' + PostalCode + ' ' + City AS FullAddress
FROM Customers;
```
• + 연산자 사용
• 문자열끼리 더하기로 연결

MySQL:
```sql
SELECT CustomerName,
CONCAT(Address, ', ', PostalCode, ' ', City) AS FullAddress
FROM Customers;
```
• CONCAT() 함수 사용
• 여러 인수를 받아 연결

Oracle:
```sql
SELECT CustomerName,
Address || ', ' || PostalCode || ' ' || City AS FullAddress
FROM Customers;
```
• || 연산자 사용 (파이프 두 개)
• 문자열 연결 전용 연산자

PostgreSQL:
```sql
-- 방법 1: || 연산자 (Oracle과 동일)
SELECT CustomerName,
Address || ', ' || City AS FullAddress
FROM Customers;

-- 방법 2: CONCAT 함수
SELECT CustomerName,
CONCAT(Address, ', ', City) AS FullAddress
FROM Customers;
```

💡 학습 팁

이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.