/주석/
실행 : Ctrl + Enter
문법종료: ;
SHOW
- 데이터베이스 목록이나, 테이블 목록, 서버의 설정 사항, 상태 등 다양한 정보를 보기 원할 때 사용하는 명령어
- show 데이터베이스
- show 테이블
SELECT
- 데이터 수집을 위해 쿼리를 조정
- 특정 행을 검색하거나 특정 방법으로 데이터를 검색할 수 있다.
select * from 테이블
select 특정칼럼명 from 테이블Select 문법 순서
- Select
- from
- where
- group by
- having
- order by쿼리의 실행 순서
- from
- where
- group by
- having
- select
- order by
WHERE
- 칼럼 조회의 조건
select * from 테이블
where done = 1;
- and, or 조건
select * from 테이블
where course_title = '웹개발 종합반'
and(or) course_title = '앱개발 종합반';
- like 조건
- %로 표현
select * from users
where email like '%@naver.com';
LIMIT
- 조회 결과 행의 수 제한
select * from orders limit 5;
GROUP BY
- 특정 칼럼 기준의 데이터 그룹핑
select name from users group by name;
ORDER BY
- 특정 칼럼 기준으로 정렬
- ASC : 오름차순 1 2 3 4 5
- DESC: 내림차순 5 5 4 2 1
select * from users order by created_at desc;
DISTINCT
- 중복 행을 제거
select distinct name from users;
ALIAS
- 칼럼에 별칭을 주고 조회
select email (as) '이메일' from users where email like '%@naver.com';
연산자
- 논리 연산자 : AND, OR, NOT
- 비교 연산자 : BETWEEN AND, IN, IS NULL, LIKE
BETWEEN AND
- select * FROM users
where created_at BETWEEN '2020-07-13' and '2020-07-14' ;
계산 함수
MAX, MIN, COUNT, AVG, SUM, MOD, POWER
select 계산함수(칼럼) from 테이블;
select mod(칼럼1,칼럼2) from 테이블;
select power(칼럼1,칼럼2) from 테이블
JOIN
INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN
- 조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것
INNER JOIN(내부 조인)
- 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.
select <열 목록>
FROM <첫 번째 테이블>
INNER JOIN <두 번째 테이블>
ON <조인될 조건>
[WHERE 검색 조건]
- INNER JOIN을 JOIN이라고만 써도 인식
OUTER JOIN(외부 조인)
- 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
SELECT <열 목록>
FROM <첫 번째 테이블(LEFT 테이블)>
<LEFT | RIGHT | FULL> OUTER JOIN <두 번째 테이블(RIGHT 테이블)>
ON <조인될 조건>
[WHERE 검색 조건]
- LEFT OUTER JOIN: 왼쪽 테이블의 모든 값이 출력되는 조인
- RIGHT OUTER JOIN: 오른쪽 테이블의 모든 값이 출력되는 조인
- FULL OUTER JOIN: 왼쪽 또는 오늘쪽 테이블의 모든 값이 출력되는 조인
CROSS JOIN(상호 조인)
- 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다.
- 상호 조인 결과의 전체 행 개수는 두 테이블의 각 행의 개수를 곱한 수만큼의 개수이다.
- 카티션 곱(CARTESIAN PRODUCT)라고도 한다.
SELECT *
FROM <첫 번째 테이블>
CROSS JOIN <두 번째 테이블>
SELF JOIN(자체 조인)
- 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다.
SELECT <열 목록>
FROM <테이블> 별칭A
INNER JOIN <테이블> 별칭B
ON <조인될 조건>
[WHERE 검색 조건]
UNION
서브쿼리
WITH
링크텍스트