SQL - 23.02.14

박무연·2023년 2월 14일
0

🔵SQL

목록 보기
4/15
post-thumbnail

SQL

- Like 문법

  • 조건의 패턴이 맞으면 TRUE
SELECT 	column1, column2, ...
FROM tablename
WHERE column LIKE pattern;
  • 왜 쓰는가??
    - %, __ 사용 가능!
    - % 붙이면 앞뒤로 어떤 문자든 사용 가능
    - __
    몇글자를 더 붙이는지 정의 가능

- UNION

  • 여러 개의 SQL문을 합쳐 하나의 SQL문으로 만들어주는 방법

  • 컬럼의 개수가 같아야 한다

  • UNION
    - 중복된 값을 제거하여 알려준다

SELECT column1, column2, ... FROM tableA
UNION
SELECT column1, column2, ... FROM tableB;

- UNION ALL

  • 중복된 값도 모두 보여준다
SELECT column1, column2, ... FROM tableA
UNION ALL
SELECT column1, column2, ... FROM tableB;
- 수직결합 이다

- JOIN

- INNER JOIN

  • 두 테이블 교집합
SELECT 	column1, column2, ...
FROM tableA          ### 왼쪽
INNER JOIN tableB    ### 오른쪽
ON tableA.column = tableB.column ### 공통된 것
WHERE condtion;
  • column을 작성할때, 두 테이블을 사용하기 때문에 테이블명.컬럼 해주어야 한다

- LEFT JOIN

  • 공통영역 + 왼쪽테이블
SELECT 	column1, column2, ...
FROM tableA          ### 왼쪽
LEFT JOIN tableB    ### 오른쪽
ON tableA.column = tableB.column ### 공통된 것
WHERE condtion;

- RIGHT JOIN

  • 공통영역 + 오른쪽 테이블
SELECT 	column1, column2, ...
FROM tableA          ### 왼쪽
RIGHT JOIN tableB    ### 오른쪽
ON tableA.column = tableB.column ### 공통된 것
WHERE condtion;

- FULL OUTER JOIN

  • 합집합
  • MySQL 에서는 FULL OUTER JOIN 지원하지 않는다
SELECT 	column1, column2, ...
FROM tableA          ### 왼쪽
LEFT JOIN tableB    ### 오른쪽
ON tableA.column = tableB.column ### 공통된 것
WHERE condtion;
UNION
SELECT 	column1, column2, ...
FROM tableA          ### 왼쪽
RIGHT JOIN tableB    ### 오른쪽
ON tableA.column = tableB.column ### 공통된 것
WHERE condtion;
  • LEFT JOIN 과 RIGHT JOIN의 UNION으로 만든다

- SELF JOIN

  • FROM 이하 테이블 2개를 붙인다!
SELECT column1, column2, ...
FROM tableA, tableB
WHERE condition;
  • tableA 가 왼쪽 tableB 가 오른쪽
- 컬럼명을 잘 정의하자
- 수평결합

- CONCAT

  • 여러 문자열을 하나로 합치거나 연결
SELECT CONCAT(STRING1, STRING2...);

- ALIAS

  • 칼럼이나 테이블 이름에 별칭 생성
  • 파이썬의 as와 같다
  • 컬럼 변경가능

- DISTINCT

  • 검색한 결과의 중복 제거
  • 파이썬의 unique()
SELECT DISTINCT column1, column2 ...

- LIMIT

  • 검색결과를 정렬된 순으로 주어진 숫자만큼 조회
  • 파이썬의 .head(number) 와 같음
SELECT 	column1, column2, ...
FROM tablename
WHERE column
LIMIT number
profile
Easy day!

0개의 댓글