다은하게

[프로그래머스 SQL/DB 스터디 1기 2주차] TIL 본문

프로그래머스 스쿨/SQLxDB 스터디 1기

[프로그래머스 SQL/DB 스터디 1기 2주차] TIL

DaaEun 2021. 11. 24. 13:10

1. 검색문의 SELECT절

🙄 문제
'USA' 이외의 나라(country)에 있는 고객을 검색하세요.
출력 컬럼은 고객의 name, city, country 순으로 합니다.
 
나의 코드 
SELECT name, city, country
FROM customers
WHERE country NOT IN ('USA');

 

피드벡 

SELECT name, city, country
FROM customers
WHERE country NOT IN ('USA'); -- LIST 연산자 / 비교대상이 하나일 때 좋은 해답은 아니다.

-- 적절한 답 1
SELECT name, city, country
FROM customers
WHERE country <> ('USA');   -- equality check

-- 적절한 답 2
SELECT name, city, country
FROM customers
WHERE country != ('USA');   -- Mysql에서는 허용된다.

-- 애매모호한 답 
SELECT name, city, country
FROM customers
WHERE country NOT LIKE ('USA'); -- pattern matching / 답은 맞으나, 의미는 틀리다.

🙄 문제 
'Paris', 'London', 'Berlin'에 있는 고객을 검색하세요.
출력 컬럼은 고객의 name, city 순으로 합니다.
 
 나의 코드 
SELECT name, city
FROM customers
WHERE city IN ('Paris', 'London', 'Berlin');

 

✅ 피드벡 

SELECT name, city
FROM customers
WHERE REGEXP_LIKE(city, 'Paris|London|Berlin');
-- 정규표현식의 패턴매치, 내장함수
-- city라는 컬럼안에 Paris오거나 London오거나 Berlin오는지 확인한다.

 


프로그래머스 스쿨 [스터디/1기] 학교 밖에서 듣는 전공필수 SQL/DB Essential 바로가기

 

[스터디/1기] 학교 밖에서 듣는 전공필수 SQL/DB Essentials

🚀 아쉽지만 1기는 마감되었어요. 2기 오픈 알림 신청하고, 최저가에 수강하세요! 최저가 알림 받기 개발자에게 데이터 베이스를 이해하는 능력은 필수! 데이터 베이스의 기본 개념부터 ERD를 읽

programmers.co.kr

 

Comments