- SELECT : 데이터를 가져오는 기본 명령어로서 데이터를 조회하는 모든 쿼리에 사용
- FROM : 데이터를 가져올 테이블을 특정해주는 명령어
- * : 테이블에 존재하는 모든 컬럼 조회
SELECT * FROM 테이블명
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명
SELECT user_id, name FROM users
평소 사용하던 컬럼명이 아니거나 원하는 컬럼명으로 조회하고 싶은 경우
AS
또는띄어쓰기
를 사용하여 별칭 부여
- 별칭을 붙일 때 유의사항
한글, 띄어쓰기, 특수문자(언더바는 예외)를 사용할 경우""
필수SELECT 컬럼명1 AS 별명1 --방법1 컬럼명2 별명2 --방법2 FROM 테이블명
SELECT user_id AS id name "유저 이름" FROM users
조건 내용에 문자를 사용하게 될 경우에는
''
를 사용해야함SELECT * FROM 테이블명 WHERE 조건 내용
SELECT * FROM users WHERE age = 24
SELECT * FROM users WHERE gender = 'male'
비교연산자 | 의미 |
---|---|
= | 같다 |
<> | 같지 않다 |
> | 크다 |
>= | 크거나 같다 |
< | 작다 |
<= | 작거나 같다 |
- 비교연산자
SELECT * FROM users WHERE age > 20
- BETWEEN A AND B : A와 B 사이면 조회
- IN : IN의 내용을 포함하면 조회
- LIKE : 비슷한 조건을 포함하면 조회
SELECT * FROM users WHERE age BETWEEN 20 AND 29 --나이가 20 ~ 29인 유저를 조회 ----------------------------------------------------------------- WHERE addr IN ('서울', '대전') --주소가 서울이거나 대전인 유저를 조회 ----------------------------------------------------------------- WHERE name LIKE '김%' --성이 김씨인 이름의 유저를 조회 --%는 어떤 값이 와도 상관 없다는 의미
논리연산자 | 의미 |
---|---|
AND | 그리고 |
OR | 또는 |
NOT | 아닌 |
- 논리연산자
SELECT * FROM users WHERE age >= 20 AND gender = 'male' --20세 이상이면서 남자인 유저를 조회 ----------------------------------------------------------------- WHERE age > 24 OR gender = 'female' --24살보다 많거나 여성인 유저를 조회 ----------------------------------------------------------------- WHERE not gender = 'male' --남자가 아닌 즉, 여성인 유저를 조회
SELECT bus_move_time, subway_move_time bus_move_time + subway_move_time AS total_time FROM vehicle
- DISTINCT : 중복된 값 제외
- COUNT : NULL값을 제외한 데이터의 전체 갯수
SELECT DISTINCT 컬럼명 FROM 테이블명
SELECT DISTINCT name FROM users
SELECT COUNT(컬럼명), --COUNT의 인자로 DISTINCT 설정 가능 --중복된 값을 제외한 데이터의 갯수를 구함 COUNT(DISTINCT 컬럼명) FROM 테이블명
SELECT COUNT(payment_amount), COUNT(DISTINCT addr) FROM users
- SUM : 선택한 컬럼의 총합
- AVG : 선택한 컬럼의 평균값
SELECT SUM(컬럼명), AVG(컬럼명) FROM 테이블명
SELECT SUM(payment_amount) total_payment_amount, AVG(age) AS avg_age FROM users
- MIN : 선택한 컬럼의 최솟값
- MAX : 선택한 컬럼의 최댓값
SELECT MIN(컬럼명), MAX(컬럼명) FROM 테이블명
SELECT MIN(age), MAX(payment_amount) FROM users
- GROUP BY : 특정 그룹의 결과 조회 가능 (ex. 국가별 유저수, 성별 사용시간)
SELECT SUM(컬럼명) FROM 테이블명 GROUP BY 그룹으로 묶을 컬럼명
SELECT COUNT(user_id) FROM users GROUP BY country
- ORDER BY : 원하는 조건으로 정렬
SELECT * FROM 테이블명 ORDER BY 정렬하고 싶은 컬럼명
SELECT * FROM users ORDER BY name ASC --오름차순 ----------------------------------------------------------------- ORDER BY name --오름차순은 기본 값이기 때문에 생략 가능 ----------------------------------------------------------------- ORDER BY nmae DESC --내림차순
SELECT
FROM
WHERE
GROUP BY
ORDER BY