프로그래밍공부(Programming Study)/데이터베이스(Database)

W3C MySQL 정리/번역 2/3일차(Wildcard ~ ANY 연산자)

Chaany 2022. 5. 7.
728x90

WildCard 문자

  • 문자열에서 1개 이상의 문자를 대체
  • WHEHE 구문에서 column에서 특정 패턴을 찾기 위해 사용하는 LIKE 연산자와 함께 사용됨
  • wildCard 조합으로도 사용 가능
    • % : 0개 이상의 문자 표현
    • _ : 단일 문자를 표현

IN 연산자

  • WHERE 구문에서 다중 값을 명시할 때 사용
  • 다중 OR 조건의 축약형
  • LIKE와 동일하게 NOT을 바로 붙임

BETWEEN 연산자

  • 주어진 범위 내에서 선택
  • 값은 숫자형, 텍스트, 데이터들이 될 수 있음
  • 시작과 끝을 포함함(경계값 포함)

Aliass(별칭)

  • 테이블이나 column에 임시 이름을 부여할 때 사용
  • 때때로 가독성이 있는 이름으로 만들 때 사용
  • 쿼리의 범위 내에서 유효함
  • AS 키워드로 생성 가능
  • 별칭에 띄어쓰기를 포함하고 있을 때 작은 따옴표 또는 큰 따옴표 표기해야 함
  • CONCAT_WS : 둘 이상의 문자열 또는 컬럼 값을 반복되는 구분자를 넣고 순서대로 합쳐서 반환
  • 유용한 경우
    • 쿼리 내 한 개 이상의 테이블 존재할 때
    • 쿼리 내에 함수가 있을 때
    • 컬럼명이 너무 길거나 가독성이 떨어질 때
    • 2개 이상의 컬럼이 결합되었을 때

Joins

  • 두 개 이상의 테이블의 관련된 컬럼을 기준으로 테이블 간의 행을 결합하는 것

MySQL이 지원하는 Join 종류

  • INNER JOIN : 복수의 테이블 내의 값이 일치할 경우의 행/레코드 반환
  • LEFT JOIN : 모든 왼쪽 테이블의 행/레코드와 오른쪽 테이블 중 일치하는 행/레코드 반환
  • RIGHT JOIN : 모든 오른쪽 테이블의 행/레코드와 왼쪽 테이블 중 일치하는 행/레코드 반환
  • CROSS JOIN : 두 테ㅐ이블의 모든 행/레코드 반환
    • CROSS JOIN에 WHERE구문을 쓰면 INNER JOIN과 같은 결과값 return
    • 주의사항 : 매우 방대한 결과 값을 반환할 수도 있음!
  • SELF JOIN : 테이블 그 자체로 JOIN을 함, 각각의 테이블에 Alias를 하는 것이 좋음

MySQL UNION 연산자

  • 2개 이상의 SELECT 문으로 반환된 결과값을 결합할 때 사용
  • UNION 연산자 내의 모든 SELECT 문은 반드시 같은 수의 컬럼을 갖고 있어야 함
  • 컬럼들은 반드시 비슷한 데이터 타입이어야 함
  • 모든 SELECT 문 내의 컬럼들은 같은 순서로 되어 있어야 함
  • 기본적으로 중복된 값을 제거한 결과값이 반환되며 중복값 반환은 ALL을 붙이면 가능
  • 일반적으로 맨처음 SELECT 문의 컬럼과 동일한 컬럼명으로 결과값이 반환됨
    • 필요하면 첫 번 째 SELECT문의 컬럼명에 ALIAS하면 됨

GROUB BY 문

  • 같은 값을 가진 행을 요약한 행으로 그룹지어줌
  • 집계 함수(COUNT(), MAX(), MIN(), SUM(), AVG())가 한 개 이상의 컬럼으로 그룹지을 때 사용됨

HAVING 구문

  • WHERE 구문 대신 집계함수와 함께 사용하기 위해 사용

EXISTS 연산자

  • 서브쿼리 내의 행/레코드에서의 레코드의 존재여부를 파악할 때 사용
  • 서브쿼리가 한 개 이상의 행/레코드를 반환하면 TRUE값 반환

ANY, ALL 연산자

  • 단일 컬럼과 다른 값들의 범위 사이에서의 비교를 할 때 사요용
  • ANY 연산자
728x90

댓글