MySQL 데이터베이스 한번에 끝내기 SQL Full Tutorial Course using MySQL Database SQL 유튜브 강의를 보고 정리한 내용입니다.
1.SELECT
한국에 있는 도시들 보기
select *
from city
where countrycode='KOR';
미국에 있는 도시들 보기
select *
from city
where countrycode = 'USA';
한국에 있는 도시들 중에 인구 수가 1,000,000 이상인 도시 보기
select *
from city
where countrycode = 'KOR' and population >=1000000;
BETWEEN A AND B : 숫자로 구성된 범위를 지정할 때
select *
from city
where population between 7000000 and 8000000;
IN : 내가 정한 것만 보고 싶다 , 이산적인(서로 단절되어있는 데이터) 값의 조건에서는 IN 사용 가능
3개의 도시들만 보여줘야 할 때
select *
from city
where name in('SEOUL', 'NEW YORK', 'TOKYO');
한국, 미국, 일본의 도시들 보기
select *
from city
where countrycode in ('KOR', 'USA', 'JPN');
LIKE 문자열의 내용을 검색하기 위해 LIKE 연산자 사용
문자 뒤에 & - 무엇이든(%) 허용
한글자와 매치하기 위해서는 '_'사용
KO 뒤에 한 글자만 올 수 있다
select *
from city
where countrycode like 'KO_';
% 붙으면 어떤 글자든 올 수 있다
이름 중에 Tel 뭐던데.. 이럴때 % 사용하고 뒤에 몇글자가 오든 상관없다.
select *
from city
where name like 'Tel %'
countrycode는 생각 안나고 나라의 도시가 서울인것만 생각날때 : 서브쿼리 이용
select *
from city
where countrycode = (select countrycode // 이것만 실행하면 결과는 KOR 만 나옴
from city
where name = 'SEOUL');
1.서울의 이름을 가진 도시의 countrycode 가 뭐냐 KOR
2.KOR의 city 모두 조회
any : 서브쿼리에서 여러개의 결과가 나올때 이 결과에서 한가지만 만족해도 된다
select *
from city
where population > any ( select population
from city
where district = 'New York');

서브쿼리를 만족하는 population 이 6개 나옴 이 6개 중 하나라도 만족하면 출력하게 됨
ANY = SOME any 대신 some 도 가능하다
ALL : 6개를 모두 만족해야함
any는 가장 작은 population 보다 이상인 애들은 다 나올것이지만 all은 6개 중 가장 높은 값을 만족하는 도시들이 나와야함
ORDER BY : 결과가 출력되는 순서를 정의할 때 사용
select *
from city
order by population desc; //내림차순
select *
from city
order by population (asc); //오름차순
혼합도 가능하다
select *
from city
order by countrycode asc, population desc;
인구수로 내림차순하여 한국에 있는 도시 보기
select *
from city
where countrycode = 'KOR'
order by population desc;
국가 면적 크기로 내림차순하여 나라 보기 (country table)
select *
from country
order by surfacearea desc;
DISTINCT : 중복 제외
.... 글 다 날라가서 간단하게 작성합니다.......
LIMIT : 10개만 보여줘
select *
from city
order by population desc;
limit 10;
group by : 그룹을 묶어서 보여줌
coutrycode 로 묶고 population 이 가장 큰 것만 보여줘 '
select countrycode, max(population))
from city
group by countrycode
별칭 as
select avg(population)
from city
HAVING : group by나 집계함수를 쓴 상태에서 또 조건을 줘야 할 때
group by 절 다음에 씀
select countrycode, max(population)
from city
group by countrycode
having max(population) > 8000000
WITH ROLLUP : 4개를 합친 것을 바로 아래에 결과로 보여줌
sum(population)을 계산하기 위해서 countrycode = 'AFG'의 중간합계를 보여주는 것이다.
select countrycode, name, sum(population)
from city
group by countrycode, name with rollup;

JOIN : 데이터베이스 내의 여러테이블에서 가져온 레코드를 조합하여 하나의 테이블이나 결과 집합으로 표현
'SQL' 카테고리의 다른 글
| SQL 프로그래머스 133025 과일로 만든 아이스크림 고르기 (0) | 2024.01.19 |
|---|---|
| SQL 프로그래머스 164673 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2024.01.19 |
| SQL 프로그래머스 59047 이름에 el이 들어가는 동물 찾기 (0) | 2024.01.19 |
| SQL 프로그래머스 59413 입양 시각 구하기(2) (0) | 2024.01.19 |
| SQL 프로그래머스 59040 고양이와 개는 몇 마리 있을까 (0) | 2024.01.18 |