조건에 맞는 데이터 검색하기

 

1. 비교 연산자와 논리 연산자

 

비교 연산자 - 특정 칼럼이 특점 값을 가지는 데이터만 불러오기 위해서 사용

= 같다
<> 다르다
<= 작거나 같다
>= 크거나 같다
< 작다
> 크다

 

SELECT *
FROM Customers
WHERE Country = 'Germany'

 

숫자뿐만 아니라, 문자도 비교가 가능하다.

알파벳 "B" 이전에 시작하는 것만 조회하는 방법. 즉, 'A'로 시작하는 모든 데이터를 가져옴

 

SELECT *
FROM customers
WHERE customerName < "B"

 

 

논리 연산자

AND A, B 둘 다 만족
OR A 거나 B 둘 중에 하나라도 만족

 

 


 

2. LIKE / IN / BETWEEN / IS NULL

 

LIKE

- country가 'Br'로 시작하는 row를 조회하고 싶은 경우

SELECT *
FROM customers
WHERE country LIKE 'Br%'

 

 

IN

- country가 프랑스 거나 독일인 사람을 조회

SELECT *
FROM customers
WHERE country IN ('Germany', 'France')

-- WHERE country = 'Germany' OR country = 'France' (IN과 같음)

 

 

BETWEEN

- customerID가 3과 5 사이에 들어가는 row 조회

SELECT *
FROM customers
WHERE customerID BETWEEN 3 AND 5

 

 

IS NULL

- 테이블 내에 데이터가 비어있는 부분을 검색하기 위한 예약어

SELECT *
FROM customers
WHERE customerID IS NULL

-- NULL, NaN (Not a Number) : 숫자도 아니고, 문자도 아니고 비어있다

 

 


 

3. LIKE 심화

 

% - 어떤 것이 와도 상관이 없다. 와일드카드(wildcard)

_ - 한 글자 와일드카드

 

 

일단, r 이 포함된 것은 모두 조회

SELECT * 
FROM Customers 
WHERE country LIKE '%r'

 

 

찾고 싶은 키워드가 명확하다면 LIKE 보다는 = 비교 연산자 사용 (속도가 빠른 장점)

SELECT *
FROM customers
WHERE country = 'Brazil'

 

 

글자 수 제한해서 조회 (B뒤에 5글자)

SELECT *
FROM customers
WHERE country LIKE 'B_____'

 

 

이스케이프(\) - 특수문자 조회하기 (두 자릿수 퍼센트 디스카운트)

SELECT *
FROM customers
WHERE discount LIKE '__\%'

 

+) DISTINCT

해당 칼럼의 중복 값을 제거하여 조회 (아래 예시에서는 중복되는 city 값은 딱 한 개만 출력된다.)

SELECT DISTINCT city
FROM station

 

 


 

HACKER RANK 퀴즈

 

1. Revising the Select Query 1

문제 설명

 

SELECT *
FROM city
WHERE population > 100000 AND countrycode = 'USA' 

 

성공 스크린샷

 

 

2. Select By ID

 

SELECT *
FROM city
WHERE id = 1661

 

성공 화면

 

 

3. Weater Observation Station 6

 

SELECT city
FROM station
WHERE city LIKE 'a%' 
OR city LIKE 'e%' 
OR city LIKE 'i%' 
OR city LIKE 'o%' 
OR city LIKE 'u%'

 

결과

 

 

4. Weather Observation Station 12

문제

 

SELECT DISTINCT city
FROM station
where city NOT LIKE 'a%'
AND city NOT LIKE 'e%'
AND city NOT LIKE 'i%'
AND city NOT LIKE 'o%'
AND city NOT LIKE 'u%'
AND city NOT LIKE '%a'
AND city NOT LIKE '%e'
AND city NOT LIKE '%i'
AND city NOT LIKE '%o'
AND city NOT LIKE '%u'

 

결과

 

 


< 기초 SQL 시리즈 >

 

2020/07/14 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 기초 SQL - 1부

2020/07/14 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 기초 SQL - 2부

2020/07/14 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 기초 SQL - 3부 完

 

 

 

 

이 포스팅은 해당 강좌를 수강하며 작성하였습니다.

https://www.inflearn.com/course/%EB%B0%B1%EB%AC%B8%EC%9D%B4%EB%B6%88%EC%97%AC%EC%9D%BC%ED%83%80-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EA%B8%B0%EC%B4%88-SQL

 

[백문이불여일타] 데이터 분석을 위한 기초 SQL - 인프런

SQL 기초 이론을 배우고, 해커랭크 문제 10개를 함께 풀어봅니다. 입문 데이터베이스 데이터베이스 데이터 분석 SQL 데이터 분석 온라인 강의 생초보도 따라할 수 있는 SQL 기초강의 듣고 코딩 테스

www.inflearn.com

 

+ Recent posts