본문 바로가기
Study/SQL

[SQL] 기본 문법 정리 1 - 200717

by 후이 (hui) 2020. 7. 18.
728x90
반응형

SQL 기초 문법 정리 

 

 

참고 영상 : 

https://www.youtube.com/watch?v=vgIc4ctNFbc&t=1446s

# 1. import data 
use world;
desc city 


# 2. 한국도시들만 출력  / 인구수 8000000이상 도시 출력 
select *
from city
where CountryCode = "KOR"

select *
from city 
where population > 8000000 

select *
from city 
where (population > 8000000) and (CountryCode = "KOR")

# 3. between 범위를 줄때 - population 7000000 ~ 8000000 
select * 
from city 
where Population between 7000000 and 8000000 


# 4. 한중일 도시들만 찾기 - "CHN""KOR""JPN"
select * 
from city 
where CountryCode in ("CHN","KOR","JPN")

#5. like 문자열을 검색할 때  - %은 뒤에 뭐든올수있음 _은 지정된 글자수만 
#JP_ 으로 끝나는 국가명 찾기 / mos~ 로시작하는 도시명 찾기 모스코모스코~~~ 모스코 모스코~~
select * from city
where CountryCode like "JP_"


select * from city 
where Name like "mos%"

#6. subquery - 쿼리 안에 쿼리 만들기 
#Q. 서울과 같은 country code를 갖고 있는 도시들을 출력하시옹

select * from city 
where CountryCode = (	select CountryCode 
						from City 
						where Name = "Seoul")

#Q. New york 과 같은 country code를 갖고 있는 도시들을 출력하시옹
select * 
from City 
where Population = (	select Population
						from City
                        where Name = "New York")



### 6.2 Any (서브쿼리 안의 값이 여러개일때) 
#Q. 뉴욕디스트릭트에 속하는 도시들의 인수들 보다 큰 도시의 인구수를 모두 가져오시오! (뉴욕디스트릭트 인구수 최소값보다 큰)
select * 
from city 
where Population  >=ANY(	select population 
							from city
							where District = "New York") 
						



### 6.3 ALL (서브쿼리 안의 값이여러개 일때 
#Q. 뉴욕디스트릭트에 속하는 도시들의 인수들 보다 큰 도시의 인구수를 가져오시오!(미국안에서 (뉴욕디스트릭트 인구수 최대값 보다 큰)

select * 
from city 
where Population  >=   ALL (select population 
							from city
							where District = "New York") 

# 7. order by 
select *
from city 
order by CountryCode asc, population desc 

 ### 인구수로 내림차순하여 한국 도시들 보기 
 select * from city
 where CountryCode = "KOR"  
 order by population desc


### 국가 면적 크기로 내림차순해서 보기  
select Code from Country 
order by SurfaceArea desc
                        

## 국가 면적 크기 기준으로 도시 내림차순해서 보고싶은데 잘안됨... 이건 고오급 기술인듯.                         
--  select * from city
--  order by CountryCode   select Code from Country 
-- 							order by SurfaceArea desc)

# 8. distinct 중복제거

select  countrycode
from city

select distinct countrycode
from city

#9 limit - pandas 의 head 같은 것 
# 위에 gui 로 하기도 함 
select * from city 
Order by Population desc limit 50

-- Where Name like "M%" AND Population > 8000000;


#10 group by 
select CountryCode, Max(population)
From city
Group by CountryCode







728x90
반응형

'Study > SQL' 카테고리의 다른 글

자꾸 까먹는 SQL 메소드 정리  (0) 2020.07.29

댓글