SQL - 문제 미리보기

문제 1720

hard
다음 저장 프로시저에서 빈칸에 들어갈 올바른 구문은? ```sql CREATE PROCEDURE GetCustomerDetails @City nvarchar(30), @PostalCode nvarchar(10) AS SELECT CustomerName, ContactName, Address FROM Customers WHERE City = @City ______ PostalCode = @PostalCode GO; EXEC GetCustomerDetails ______ = 'London', ______ = 'WA1 1DP'; ```
A. `AND`, `@City`, `@PostalCode`
B. `OR`, `City`, `PostalCode`
C. `AND`, `City`, `PostalCode`
D. `OR`, `@City`, `@PostalCode`

정답: A

복합 조건과 매개변수를 활용한 저장 프로시저의 고급 사용법: 쿼리 로직 분석: • 목적: 특정 도시이면서 특정 우편번호인 고객들 조회 • 조건: 두 조건을 모두 만족해야 하는 경우 • 연산자: AND를 사용해야 정확한 결과 도출 AND vs OR 선택 기준: AND 사용 (정답): ```sql WHERE City = @City AND PostalCode = @PostalCode -- 런던이면서 우편번호가 WA1 1DP인 고객만 조회 -- 더 구체적이고 정확한 검색 ``` OR 사용 시: ```sql WHERE City = @City OR PostalCode = @PostalCode -- 런던이거나 우편번호가 WA1 1DP인 모든 고객 조회 -- 너무 광범위한 결과, 의도와 다름 ``` 매개변수 전달 방식: ```sql EXEC GetCustomerDetails @City = 'London', @PostalCode = 'WA1 1DP'; ``` 매개변수 전달 규칙: • 이름 기반 전달: `@parameter_name = value` (권장) • 순서 기반 전달: `'London', 'WA1 1DP'` (가능하지만 비권장) • @ 접두사: 실행 시에도 매개변수명에 @ 필요

💡 학습 팁

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