SELECT 문 기본 문법

hyeh·2022년 8월 8일

SQL 기초

목록 보기
2/9

SELECT 문 기본 문법

  • 구성요소 : 키워드(예약어), 속성(칼럼) 이름, 테이블 이름, 검색 조건
  • 사용 : 키워드(예약어)는 대문자로 칼럼명이나 테이블명 등 다른 것들은 소문자로
SELECT [AlL | DISTINCT] 속성이름() -- 칼럼명
FROM 테이블이름()
[WHERE 검색조건()]
[GROUP BY 속성 이름] -- 보고싶은 것들을 그룹화
[HAVING 검색조건()] -- GROUP BY의 검색조건으로 그룹을 제한하는 역할을 한다
[ORDER BY 속성이름 [ASC | DESC]
-- [] : 대괄호 안의 SQL 예약어들은 선택적으로 사용한다
-- | : 선택 가능한 문법들 중 한 개를 사용할 수 있다

WHERE 절에 조건으로 사용할 수 있는 술어

  • 비교 : =, <>(같지 않다), <, <=, >,
  • 범위 : BETWEEN a AND b (a와 b 그 사이, 앞뒤 조건도 포함!)
  • 집합 : IN, NOT IN(제외하고 싶은 것 지정)
  • 패턴 : LIKE, NOT LIKE
  • 결측 : IS NULL, IS NOT NULL(비어 있지 않은 모든 값을 가져오겠다)
    (NULL은 결측치, 비어있는 값)
  • 복합 : AND, OR, NOT

LIKE와 함께 쓰이는 와일드 문자의 종류

  • % : 0개 이상의 문자열과 일치 ex) '%축구% : 축구를 포함하는 문자열 - 앞뒤로 뭐가 나와도 상관 없다
  • : 특정 위치의 1개의 문자와 일치 ex) '구%' : 두 번째 위치에 '구'가 들어가는 문자열
  • [] : 1개의 문자와 일치 ex) '[0-5]%' : 0-5 사이의 숫자 하나로 시작하는 문자열
  • [^] : 1개의 문자와 불일치 = NOT ex) '[^0-5]%' : 0-5 사이 숫자로 시작하지 않는 문자열

REGEXP와 함께 쓰이는 정규식 기호 종류

  • ^…$ : Starts and ends
  • . : 문자 하나
    • : 문자 여러 개
  • .* : 뒤에 어떤 문자가 와도 상관 없다
  • [] : 괄호 안의 문자열 일치를 확인한다
  • [abc] : Only a, b, or c
  • [^abc] : Not a, b, nor c
  • [a-z] : Characters a to z
  • [0-9] : Numbers 0 to 9
  • {} : 반복을 나타낸다
  • | : or 를 나타낸다
  • 참고 : MySQL 공식문서, regexone

집계함수

  • 집계함수의 종류 : SUM(), AVG(), COUNT(), MAX(), MIN()
  • COUNT() : 기본적으로 행의 갯수를 세어주며, 값이 비어있는 행은 제외된다.

GROUP BY와 집계함수

  • GROUP BY 사용할 때, SELECT에는 사용한 속성(칼럼)집계함수만 올 수 있다!
  • 의미 있는 열 이름을 출력하고 싶으면 SELECT에 속성이름의 별칭을 지칭하는 AS 키워드를 사용해 열 이름을 부여한다. ex) SELECT SUM(saleprice) AS 총매축
  • HAVING은 반드시 GROUP BY와 같이 작성해야하고! WHERE보다 뒤에 나와야 한다! 그리고집계함수를 반드시 사용한다!
  • WHERE절에는 집계함수를 바로 사용할 수 없다!

ORDER BY의 내림차순과 오름차순

  • ASC 오름차순 : ㄱ - ㅎ, 1 - 10
  • DESC 내림차순 : ㅎ - ㄱ, 10 - 1
profile
좌충우돌 천방지축 룰루랄라 데이터 공부

0개의 댓글