SELECT * FROM
데이터를 가져올 때 쓰는 구문이다.
아래 예시는 city라는 테이블의 전체 row들을 가져오는 것이다.
*가 정말 언어마다 다양한 역할을 하는데 여기서는 파이썬 import 처럼 생각하면 될 것 같다.
SELECT * FROM [테이블명] 이라면 "해당 테이블에서 모든 데이터를 가져오겠다" 라는 뜻이다.
SELECT * FROM city;
*(애스터리스크)가 아닌 특정 데이터들만 골라서 가져올 수도 있다.
SELECT Population FROM city;
여러 개의 데이터를 가져오는 것도 가능하다.
SELECT Name,Population FROM city;
WHERE
SELECT 문에서 선택한 데이터 중 특정 조건을 만족하는 값을 가져오고 싶을 때 이용하는 구문이다.
아래와 같이 실행 시 city 안에 Population이 5000000을 넘는 데이터들의 Name과 Population을 출력하게 된다.
SELECT Name,Population FROM city WHERE Population>5000000;
조건으로는 다양한 것들을 이용할 수 있다.
관계 연산자 : OR, AND, NOT 등..
조건 연산자 : >=, <=, ==, >, <, != 등..
문자열도 비교 가능하다. 아래 방법을 통해서 Countrycode 가 USA인 즉 미국의 도시들을 뽑아볼 수 있다.
SELECT Name,Population FROM city WHERE Countrycode='USA';
BETWEEN a AND b
일정 범위 내의 값들을 얻을 때 <=, <와 같은 연산자를 사용하지 않고 BETWEEN a AND b로 해결할 수도 있다.
SELECT Name,Population FROM city WHERE Population BETWEEN 127800 AND 130000;
사진을 보면 알 수 있듯이 BETWEEN은 a<= X <=b 인 값들을 가져온다. 127800과 130000 모두 조건을 만족하는 값이다.
IN (s1, s2, s3...)
이름과 같은 이산적인 값은 IN을 통해서 얻을 수 있다.
예를 들어 서울과 부산의 인구수를 얻고 싶다면
SELECT Population FROM city WHERE Name IN('seoul','pusan');
이와 같이 적어주면 된다.
LIKE 'STRING'
문자열의 값을 탐색할 때 쓰인다.
문자열 앞이나 뒤에 _ 나 %를 붙여서 사용할 수 있다.
_ 는 붙인 곳을 기준으로 그 칸에 무엇이 들어오든 string을 만족하는 값들을 찾아준다. 예를 들어 도시 중에 Like '_산' 을 검색했다면 울산, 부산, 아산, 안산 이렇게 찾아주는 것이다.
%는 붙인 곳을 기준으로 그 앞이나 뒤에 무엇이 와도 상관없이 다 찾아준다. 예를 들어 사람 이름을 검색할 때 Like '김%' 를 검색하면 김XX, 김OO, 김__ 다 찾아준다.
SELECT * FROM city WHERE Name LIKE '%city'; # 전 세계 도시 중 ~city로 끝나는 것들 찾기
SELECT * FROM city WHERE CountryCode IN ('KOR') AND Name LIKE '%san'; # 국가 코드가 KOR인 도시중 ~산으로 끝나는 도시 찾기
SELECT * FROM city WHERE District LIKE 'Kyong%'; # district( 경기도, 경상도 등) 중 kyong으로 시작하는 도시 찾기
SELECT * FROM city WHERE Name LIKE '%won%'; # 전 세계 도시 중 'won'이 들어가는 도시 찾기 '수원', '원산' 등..
'프로그래밍 > MySQL 기초' 카테고리의 다른 글
MySQL 문법 - 5 (내장함수 정리) (0) | 2022.05.27 |
---|---|
MySQL 문법 - 4 (GROUP BY / HAVING / WITH ROLLUP / JOIN) (0) | 2022.05.27 |
MySQL 문법 - 3 (SubQuery / ANY / SOME / ALL / ORDER BY / DISTINCT / LIMIT ) (0) | 2022.05.27 |
MYSQL 문법 - 1 (SHOW / USE / DESCRIBE / SELECT * FROM) (0) | 2022.05.18 |
MySQL 이란? (0) | 2022.05.18 |