[제로베이스 데이터 취업스쿨] 23.07.26 스터디 노트

김준호·2023년 7월 27일
0
post-thumbnail

1. PRIMARY KEY

  • 테이블의 각 레코드를 식별
  • 중복되지 않은 고유값을 포함
  • Null값을 포함할 수 없음
  • 테이블 당 하나의 기본키를 가짐

1) 생성 문법

예제

  • 하나의 컬럼을(pid) 기본키로 설정하는 법
  • constraint 는 생략가능
  • 여러개의 컬럼을 기본키로 설정하는 경우

2) 삭제 문법

3) 추가 문법

예제

  • 여러개 컬럼을 기본키로 설정
  • constraint 생략 가능, 생략한다면 자동생성 된다.

2. FOREIGN KEY(외래키)

  • 한 테이블을 다른 테이블과 연결해주는 역할이며, 참조되는 테이블의 항목은 그 테이블의 기본키 (혹은 단일값)

1) 생성문법

예제

  • order 테이블을 만드는데 oid를 order테이블의 기본키로 설정하고
    order테이블의 외래키는 pid인데 person테이블의 pid를 참조한다.
  • CREATE TABLE에서 FOREIGN KEY를 지정하는 경우, CONSTRAINT 생략가능

2) 삭제문법

  • foreign key는 여러개 존재 가능하기 때문에 이름을 알고 있어야 한다.
  • 삭제 후 desc tablename; 을 해도 mul이라는 키가 남아있지만
    show create table tablename을 해보면 foreign key가 아니라 그냥 key인걸 확인 할 수 있다.
  • 참조되는 관계는 끊겼다는 말이다.

3) 생성문법2

예제

3. Aggregate Functions(집계함수)

1) 실습환경

AWS RDS(database-1) zerobase

2) 집계함수 종류

3) COUNT

4) SUM

5) AVG

6) MIN

7) MAX

4. Group By

  • 그룹화 하여 데이터 조회

문법

5. HAVING

  • 조건에 집계함수가 포함되는 경우 WHERE 대신에 HAVING 사용

문법

6. Scalar Functions

6-1) UCASE

  • 영문을 대문자로 반환하는 함수

6-2) LCASE

  • 영문을 소문자로 반환하는 함수

6-3) MID

  • 문자열 부분을 반환하는 함수

6-4) LENGTH

  • 문자열의 길이를 반환하는 함수

6-5) ROUND

  • 지정한 자리에서 숫자를 반올림하는 함수

6-6) NOW

  • 현재 날짜 및 시간을 반환하는 함수

6-7) FORMAT

  • 숫자를 천단위 콤마가 있는 형식으로 반환하는 함수

7.Subquery

  • 하나의 SQL문 안에 포함되어 있는 또 다른 SQL 문
  • 메인쿼리가 서브쿼리를 포함하는 종속적인 관계
    • 서브쿼리는 메인쿼리의 컬럼 사용 가능
    • 메인쿼리는 서브쿼리의 컬럼 사용 불가
  • 서브쿼리는 괄호로 묶어서 사용
  • 서브쿼리는 단일 혹은 복수 행 비교 연산자와 함께 사용가능
  • 서브쿼리 에서는 order by 사용 불가

7-1) Subquery 종류

  1. 스칼라 서브쿼리(Scalar subquery) : SELECT 절에 사용
  2. 인라인 뷰(Inline view) : FROM절에 사용
  3. 중첩 서브쿼리(Nested subquery) : WHERE절에 사용

7-2) Scalar subquery

  • select 에서 사용되기 때문에 결론이 하나의 컬럼으로 나와야 한다.

7-3) Inline view

  • 하나의 테이블로 사용한다.

7-4) 중첩 서브쿼리

  • WHERE 절에서 사용하는 서브쿼리
    • Single Row : 하나의 열을 검색하는 서브쿼리
    • Multiple Row : 하나 이상의 열을 검색하는 서브쿼리
    • Multiple Column : 하나 이상의 행을 검색하는 서브쿼리

Single row

Multiple row

  • IN

예제

  • EXISTS

예제

  • ANY

예제

-ALL

예제

  • Multi Column subquery

예제

profile
취업공부

0개의 댓글