SELECT문

천소진·2022년 10월 19일
0

Study

목록 보기
13/29

SELECT 기본 문법

< 데이터를 조회하는 3가지 방법>

  1. selection : 행단위로 조회
  2. projection : 열단위로 조회
  3. join : 두개 이상의 테이블을 연결하여 조회
  • select [ *|| all || distinct] 속성이름 or 집계함수 : [ 행 || 전체 || 중복제거] from + 테이블 이름 ;
  • where +검색조건
    : 비교(=,<>,<,>,<=,>=), 범위(between A and B), 집합(in(), not in()) , 패턴(like), 복합 (and, or, not)등의 조건들을 넣을 수 있음.

    ◈ like (내용 검색기능) : 특정 문자열이 포함된 데이터를 조회 할때
    = 와일드문자 % : 길이와 상관없이 (공백 포함) 모든 문자 데이터를 의미. 문자의 대소문자 구별해 주어야 한다.
    _ : 자릿값 표기 ex)두번째 글자가 L = '_L%'

    !!! 와일드 문자가 데이터에 포함된 경우 escape '\'로 처리
    ==> ex) _A로 시작하는 문자 : like '_A%'

    ◈ IS NULL : null은 어떤 연산자도 처리 되지 않고 항상 null 이라서 비교 연산자 사용 불가
    ==> null의 존재를 확인하기 위해서는 is (not) null로 확인해야함.

    ◈ 집합 연산자

  • 합집합 (union)
    : 열의 개수와 자료형이 동일해야 함. (테이블은 달라도 가능)
    ==>서로 다른 테이블의 결과를 한 판으로 보고싶을때 자동으로 distinct 처리해줌.
    !!!! union all : 중복제거 없이 모든데이터 출력
    ex) select empno, ename, sal from emp where deptno =10 union select empno, ename, sal from emp where deptno =20;

  • 차집합 (minus)
    : 먼저 작성한 select 문의 결과 값에서 나중에 작성한 select 문의 결과값을 뺀 나머지를 출력.
    ex)select empno, ename, sal from emp minus select empno, ename, sal from emp where deptno =10;

  • 교집합 (intersect)
    : 먼저 작성한 select 문의 결과 값과 나중에 작성한 select 문의 결과값이 같은 것만 출력.
    ex)select empno, ename, sal, deptno from emp intersect select empno, ename, sal, deptno from emp where deptno =10;

☆연산자 우선순위☆
0. ( )
1. *,/
2. +,-
3. =,!=,^=,<>,>,>=,<,<=
4. IS(NOT) NULL, (NOT)LIKE, (NOT)IN
5. BETWEEN A AND B
6. NOT
7. AND
8. OR

  • order by +속성이름 (asc || desc) : (오름차순 || 내림차순)
    : 검색한 속성의 결과를 정렬.

  • group by + 속성이름
    : 속성을 기준으로 그룹을 만들고 select 절에는 group by에 사용한 속성을 써야함.

  • having + 검색조건
    : 무조건 group by절과 함께 써야하고, where보다 뒤에 나와야 함.
    : 검색 조건에는 sum, avg,min,max,count 와 같은 집계 함수가 나와야함.

0개의 댓글