본문 바로가기
데이터 분석

[SQLD] 개념정리 - SQL 기본(2): WHERE, FUNCTION, GROUP BY, HAVING, JOIN

by pm-ing 2023. 9. 8.

✅WHERE 절

: WHERE 절은 FROM절 다음에 위치. WHERE절을 이용하여 자료들에 대해 제한할 수 있음

 

✅연산자의 종류

1) 비교 연산자(부정 비교 연산자 포함)

2) SQL 연산자(부정 SQL 연산자 포함: NOT BETWEEN A AND B, NOT IN, IS NOT NULL)

3) 논리 연산자 : AND, OR, NOT

 

✅연산자의 우선순위

  1. 괄호
  2. NOT 연산자
  3. 비교 연산자, SQL 비교 연산자
  4. AND
  5. OR

 

✅와일드 카드

% 0개 이상의 어떤 문자를 의미
_ 1개인 단일 문자를 의미

ex.

%수원시% : 수원시가 들어가는 모든 데이터(시작, 끝단어 상관없음)

%수원시 : 수원시로 끝나는 데이터 조회

‘박_ _’ : _언더바 하나는 단일문자 하나를 뜻하므로 박oo인 사람들만 조회됨

 

✅문자 유형 비교 방법🌟

1) 양쪽이 모두 CHAR 타입인 경우

: 길이가 서로 다르면 작은 쪽에 공백을 추가하여 길이를 같게 함

: 서로 다른 문자가 나올 때까지 비교

: 달라진 첫번째 값에 따라 크기를 결정

: 공백의 수만 다르다면 같은 값으로 결정

 

2) 비교연산자 중 한 쪽이 VARCHAR인 경우

: 서로 다른 문자가 나올 때까지 비교

: 길이가 다르면 짧은 것이 끝날 때까지만 비교 -> 길이가 긴 것이 크다고 판단

: 길이가 같고 다른 것이 없다면 같다고 판단

: VARCHAR는 공백도 문자로 판단

 

 


✅단일행 함수 특징

: SELECT, WHERE, ORDER BY 절에 사용 가능

: 각 행들에 대해 개별적으로 작용. 각각의 행에 대한 조작 결과를 리턴

: 여러 인자를 입력해도 단 하나의 결과만 리턴

: 특별한 경우가 아니라면 함수의 중첩이 가능(=함수 안에 함수의 사용이 가능)

 

✅단일행 함수 종류

문자형 함수 문자 입력하면 문자나 숫자값을 반환
LOWER, UPPER, SUBSTR, LENGTH, LTRIM, RTRIM, TRIM, ASCII
숫자형 함수 숫자를 입력하면 숫자값을 반환
날짜형 함수 DATE 타입의 값을 연산
변환형 함수 문자, 숫자, 날짜형의 값의 데이터 타입을 변환
NULL 관련 함수 NULL을 처리하기 위한 함수
NVL, NULLIF, COALESCE

NULL은 어떠한 연산 결과도 NULL값임.

COUNT(*)만 NULL값 포함한 행의 수를 출력!

NULL은 집계함수에 관여하지 않음(나머지 행들만 계산)

 

✅SELECT 문의 실행 순서 -> FWGHSO로 암기

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

 

 


✅조인(JOIN)

: 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것.

: 일반적으로 사용되는 SQL문의 상당수가 조인으로 이루어져 있다(업무에서 필연적으로 발생할 수밖에 없음)

: 일반적인 경우 PK와 FK의 값 연관에 의해 조인이 이루어지며, PK, FK관계와는 별도로 일반 컬럼끼리 조인이 이루어지는 경우도 있다.

 

✅최소로 필요한 조인 조건의 개수🌟

: 조인되는 테이블의 수 - 1

반응형