SHOW DATABASES;
USE <database_name>;
SHOW TABLES;
SHOW TABLE STATUS; --테이블 정보 조회(행 수 등)
DESC <table_name>; --테이블 스키마 조회
SELECT * FROM city;
SELECT id, name FROM city; -- 특정 열 선택
SELECT id FROM city WHERE population > 800; -- WHERE절 사용
SELECT * FROM city WHERE population < 800 AND population > 700; -- 관계연산자 사용
SELECT * FROM city WHERE population BETWEEN 700 AND 800;
특정 범위로 데이터를 필터링하여 조회할 때 사용
SELECT * FROM city WHERE name IN ('Seoul', 'Newyork');
정해진 임의 값들에 해당하는 경우의 데이터 조회시 사용
SELECT * FROM city WHERE name LIKE 'Tel%';
문자열 내용 검색을 위해 사용, % 은 어떤 것이든 _ 는 한 글자 의미
SELECT *
FROM city
WHERE country_code = (
SELECT country_code
FROM city
WHERE name = 'Seoul');
쿼리 내에 또 다른 쿼리를 사용
SELECT *
FROM city
WHERE population > ANY (
SELECT population
FROM city
WHERE district = 'New York');
SOME 은 ANY 와 동일 의미=ANY 구문은 IN 과 동일 의미SELECT *
FROM city
WHERE population > ALL (
SELECT population
FROM city
WHERE district = 'New York');
서브쿼리의 여러 결과를 모두 만족시켜야 함
SELECT *
FROM city
ORDER BY population DESC;
SELECT *
FROM city
ORDER BY population DESC, name ASC; -- 혼용 가능
SELECT DISTINCT coutry_code
FROM city;
중복 제거시 사용, 데이터 크기가 클수록 효율적
SELECT *
FROM city
ORDER BY population
LIMIT 10;
LIMIT N 형태로 사용SELECT country_code, MAX(population)
FROM city
GROUP BY country_code;
SELECT country_code, MAX(population)
FROM city
GROUP BY country_code
HAVING MAX(population) > 8000000;
그루핑 결과를 대상으로 조건절을 적용하고 싶을 때 사용
SELECT country_code, name, SUM(population)
FROM city
GROUP BY country_code, name WITH ROLLUP;
GROUP BY 절과 함께 WITH ROLLUP 문 사용SELECT *
FROM city
JOIN country ON city.country_code = country.code;
여러 테이블을 통합하여 데이터를 조회할 때 사용, 조인 조건 필요