컴퓨터 과학/[프로그래머스] SQL DB Essentials

Chapter 04 DML : 단일테이블 검색문(Part 1)

계란💕 2022. 3. 2. 10:23

 

  - 관계 대수 연산자

  1) 집합연산자

  2) 순수관계 연산자: 셀렉트(WHERE), 프로젝트(SELECT), 조인

  3) 확장된 관계 연산자: 외부조인 / 그룹연산/ 통계연산 / 작명연산

 

  - SQL DML(Data Manipulation Language)

  1) 검색: SELECT문

  2) 갱신: INSERT문/ DELETE문/ UPDATE문

 

1. SELECT문

  -> SELECT - (FROM) - WHERE 구조

  -> SELECT절: 관계대수의 프로젝트 연산자

  -> FROM절은 표준SQL, Oracle에서 생략불가 (MySQL, SQL server은 가능)

 

  (1) SELECT문 실행순서

    FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY

 

  - SELECT문 종류: 단일값 쿼리-scala query / 다중값 쿼리- column query/ 다중행 쿼리-table query

 

  - SELECT문의 DISTINCT: 중복된 투플은 제거한다.

    -> SELECT문의 ALL(디폴트 값): 중복 모두 나타낸다.

 

  - COLUMN ALIAS(컬럼 별칭)에 공백이 들어가면 ''(따옴표)를 쓴다.

  - 컬럼 별칭은 WHERE, GROUP BY절에서는 사용불가 (표준 SQL)

    -> GROUP BY절에서는 컬럼 별칭을 사용 가능하고 WHERE절에서는 사용불가 (MySQL)

 

  - WITH절을 이용한 임시 테이블 생성

    -> 두 질의문을 연결 

    -> WITH절에 포함된 질의문 결과에 메모리에 임시테이블로 저장

    -> 메인 질의문이 임시 테이블을 일반 테이블 처럼 사용가능

    -> 메인 질의문 실행 완료되면 임시 테이블은 삭제된다.

    -> 관계 대수의 작명(Rename) 연산자

 

  - 새로운 컬럼 생성

    1) 산술 표현식( +,- , * , /, %, MOD )을 사용한 컬럼 생성

    2) 문자열 연결해서  -> CONCAT(string1, string2, .... )

    3) CASE 표현식 (IF- THEN-ELSE 논리와 유사)

      -> 중첩된 CASE 표현식도 가능하다.

 

  (2) SELECT문의 WHERE절

    - 투플 조건식을 이용하여 테이블에서 조건에 맞는 투플만 선택

    - 관계 대수의 select연산자

      -> 연산자(비교 연산자, SQL 연산자, 논리 연산자)

      -> 비교 연산자: >, <, <>(같지 않다)

      -> 논리 연산자: () -> NOT -> AND -> OR 순서대로

      -> (NOT) IN (list) 멤버십 연산자: 컬럼 값/ 컬럼값의 리스트가 다중 값 / 다중 행 리스트에 존재하는지 검사 (1 / 0 리턴)

      -> (NOT) LIKE 연산자: 패턴매치 연산자(문자열 내에 패턴과 일치하는 부분 문자열이 있는지 검사, 1 / 0리턴, 

                  / Wild character: %(0개 문자 이상의 임의의 문자열) , _(1개의 단일문자)

      -> (NOT) BETWEEN a AND b 연산자

      -> IS (NOT) NULL연산자: ASCII 코드 0(NULL) , 아스키코드 32: 공백문자 ' ', 아스키코드 48: 숫자 '0'

        NULL과의 비교는 항상 False

        ex) state = null (X) / stais IS NULL (O)

 

 

 

 

 

 

 

본 게시글은 프로그래머스의 "학교 밖에서 듣는 전공 필수SQL/DB Essentials" 강의 내용을 토대로 업로드 했습니다.

 

 

[스터디/2기] 학교 밖에서 듣는 전공필수 SQL/DB Essentials

⏰마지막 할인 중 2기 일정이 맞지 않다면 오픈 알림 신청하고 최저가에 수강하세요! 오픈 알림 신청 개발자에게 데이터베이스를 이해하는 능력은 필수! 데이터베이스의 기본 개념부터 ERD를 읽

programmers.co.kr

https://programmers.co.kr/learn/courses/13484