SQL

SQL 문법

베스트오버 2023. 3. 17. 18:56

/*주석*/

 

실행   : Ctrl + Enter

문법종료: ;

 

SHOW

 - 데이터베이스 목록이나, 테이블 목록, 서버의 설정 사항, 상태 등 다양한 정보를 보기 원할 때 사용하는 명령어

 - show 데이터베이스

 - show 테이블

 

SELECT

 - 데이터 수집을 위해 쿼리를 조정

 - 특정 행을 검색하거나 특정 방법으로 데이터를 검색할 수 있다.

  select * from 테이블

  select 특정칼럼명 from 테이블

  

 Select 문법 순서

  1. Select

  2. from

  3. where

  4. group by

  5. having

  6. order by

  

 쿼리의 실행 순서

  1. from

  2. where

  3. group by

  4. having

  5. select

  6. 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