[내일배움캠프] 1월 2주차 WIL 회고록
이번주에 배운 것 : SQL
1. SELECT ~ FROM 문
1-1 ) SELECT 문의 기본 형식
SELECT select_expr
[FROM table_references]
[WHERE where_condision]
[GROUP BY {col_name | expr | position}]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
1-2 ) SELECT ~ FROM 문 사용 예시
SELECT 열_이름 FROM 테이블_이름
2. SELECT ~ FROM ~ WHERE 문
2-1 ) SELECT ~ FROM ~WHERE 문 사용 예시
SELECT 열_이름 FROM 테이블_이름 WHERE 조건식;
2-2) 관계연산자, 논리연산자
- 관계연산자: >, <, >=, <=, =
- 논리연산자: AND, OR
2-3 ) BETWEEN, LIKE, IN
1. BETWEEN : A와 B사이의 내용을 검색해서 나타내라는 의미
사용 예시
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
2. LIKE : 쿼리문 WHERE절에 주로 사용되며 부분적으로 일치하는 칼럼을 찾을때 사용된다.
사용 예시
SELECT * FROM [테이블명] WHERE LIKE [조건]
3. IN : WHERE 절 내에서 특정 값 여러개를 선택하고 싶을 때 사용된다.
사용 예시
SELECT * FROM 테이블명
WHERE 컬럼명 IN (값1, 값2, ...);
3. ORDER BY 문
ORDER BY 절은 결과의 값이나 개수에 대해서는 영향을 미치지 않지만, 결과가 출력되는 순서를 조절한다.
ASC : 오름차순
DESC : 내림차순
기본 값은 ASC (오름차순) 이다.
사용 예시
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
4. GROUP BY 문
출력 결과를 그룹으로 묶어준다. 주로 집계함수와 함께 사용된다.
집계 함수 :
- SUM() : 합계
- AVG() : 평균
- MIN() : 최솟값
- MAX() : 최댓값
- COUNT() : 행의 개수
- COUNT(DISTINCT) : 행의 개수(중복제거)
사용 예시
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);
5. Join 문
- 조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다.
- INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.
- OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
- CROSS JOIN(상호 조인)은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다.
- SELF JOIN(자체 조인)은 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다.
INNER JOIN : 두 테이블을 연결할 때 제일 많이 사용된다. 그냥 JOIN 이라고 부르면 내부 조인을 의미한다.
사용 예시 :
SELECT <열 목록>
FROM <첫 번째 테이블>
INNER JOIN <두 번째 테이블>
ON <조인될 조건>
[WHERE 검색 조건]
LEFT JOIN : 내부 조인은 두 테이블에 모두 데이터가 있어야만 결과가 나오지만, 외부 조인은 한쪽에만 데이터가 있어도 결과가 나온다
사용 예시
SELECT <열 목록>
FROM <첫 번째 테이블(LEFT 테이블)>
<LEFT> OUTER JOIN <두 번째 테이블(RIGHT 테이블)>
ON <조인될 조건>
[WHERE 검색 조건]
프로그래머스 SQL 문제
어려운 부분들은 제외하고 조금 풀었다.
다음주 목표 : 팀 프로젝트 열심히 참가하기, 시간 남으면 SQL 문제 더 풀어보기