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

 

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

 

강의를 듣기 전 준비해야 할 링크

 

W3school - https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

Hacker Lank - https://www.hackerrank.com/domains/databases

 


 

SELECT / FROM / LIMIT

쿼리를 작성할 시에 예약어 즉, SELECT와 같은 명령어들은 대문자로 테이블이나 칼럼은 소문자로 작성

 

 

1. Customer 테이블의 모든 데이터 가져오기 (*은 아스타라고 읽음)

 

SELECT * FROM Customers

 

모든 데이터를 조회한 결과 스크린샷

 

2. 특정 칼럼만 조회

 

SELECT CustomerName FROM Customers

 

customer의 이름만 조회한 결과 스크린샷

 

3. row 개수 제한 (상위 10개)

 

SELECT CustomerName, Address FROM Customers LIMIT 10

 

LIMIT 10 결과 스크린샷 10개의 row만 조회된 것을 확인할 수 있음

 


 

HackerRank || Weather Observation Station 1 

 

Hacker Rank의 테스트 문제

 

문제) CITY와 STATE 컬럼을 조회해라

 

SELECT city, state FROM station

 

submit code 이후 스크린샷

Congratulations, Compiler Message가  Success가 뜨면 성공

 

 


< 기초 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