본문 바로가기

Dev Books Review/모두의 SQL

[모두의 SQL] 3장. SELECT: 데이터 조회의 기본

**SELECT** [DISTINCT] **열 이름** [or 별칭(alias)]
**FROM 테이블이름**
[WHERE 조건식]
[ORDER BY 열이름[ASC or DESC]];
  • 예약어
    • 시스템이 미리 정해놓은 것이므로, 테이블을 만들때도 이름으로 사용할 수 없다
    • SELECT: 예약어이면서, 열을 선택하기 위한 명령어
  • SQL문 작성 규칙
    • 대소문자 구별X
    • 가독성과 편집의 용이성을 위해 내용이 달라지면 줄을 나눔
    • 명령어는 여러 줄로 나눌 수 없음
    • 코드 수준에 따른 들여쓰기는 SQL 문장을 좀 더 읽기 쉽게 함
    • 명령어를 대문자로 작성, 나머지를 소문자로 작성 → 가독성이 높아짐
  • SELECT 명령어
    • 데이터를 ‘선택(조회)한다’는 의미
    • 단순히 선택된 데이터를 화면에 출력
    • 실제 데이터의 값이 데이터베이스에 반영(삽입, 갱신, 삭제)되지는 않음

 

SELECT *
FROM employees;
  • SELECT ~ FROM
    • *는 ‘모든 열’이라는 의미
    • FROM은 ‘~테이블로부터’라는 의미이므로 바로 뒤에 테이블 이름을 기술
  • DISTINCT: 중복된 행을 제거하고 출력
  • alias(별칭): SELECT 열 이름 AS 별칭
    • 본래 명명된 열 이름 외에 열 이름으로 임의로 바꿔쓰고자할 때 사용하는 것
    • 임시로 변경하는 것, 원래의 열 이름이 물리적으로 영원히 변경되는 것은 아님
    • AS 접속사는 생략 가능
    • 별칭에 공백/특수문자/대소문자 등을 사용하려면 큰따옴표(””)로 묶어서 사용
  • 연결 연산자 ||
    • 각 열의 결과를 연결해 하나의 열로 결과 표현 가능
    • 문자열을 추가해 새로운 데이터를 표현하는 열을 만들 수도 있음
    [열이름]||[열이름] or [열이름]||'[문자]'
    

 

  • 산술 연산자 +, -, *, /
    • 데이터 값을 계산하고자 할 때 사용
    • 산술 표현식에는 열이름, 숫자, 날짜, 산술 연산자 등을 포함할 수 있음
    • SELECT 문에서는 FROM 절을 제외한 모든 절에서 사용 가능
    • 연산의 우선순위: (), *, /, +, -
  • WHERE 조건절
    • 사용자가 원하는 데이터를 조회할 때 사용하는 것
    • 조건을 지정해 데이터 값을 ‘어디에서 어떻게’ 가져올지 정함
    • WHERE 절은 FROM절 바로 다음에 기술, 수행될 조건식을 포함함
    • 비교 연산자, SQL 연산자, 논리 연산자, 열 이름, 표현식, 숫자, 문자 등을 포함할 수 있음
    SELECT 열 이름
    FROM 테이블 이름
    WHERE 원하는 조건;
    
    • 데이터가 조회되는 논리 순서
      • 참조하려는 테이블로부터(FROM)
      • 해당 조건식으로(WHERE)
      • 열을 선택(SELECT)하여 조회

 

  • 연산자
    • 연산자의 우선 순위
      • 괄호 > 부정연산 > 비교연산 > SQL 연산
      • 논리 연산자의 순위: NOT > AND > OR
  • 비교 연산자
    • 등호 연산자 =
      • 특정 데이터 값을 선택할 때 주로 사용하는 연산자
      • 데이터 값이 문자 값이나 날짜 값이라면 작은 따옴표를 붙여서 사용, 이 경우 대소문자와 날짜 형식 구분
  • SQL 연산자
    • BETWEEN: 두 값의 범위에 해당하는 행을 출력할 때 사용
    • IN
      • 조회하고자 하는 값이 여러 개일때 사용
      • = 연산자와 달리 데이터 값을 여러개 지정할 수 있음
      • 다중 행 연산자라고도 부름
    • LIKE
      • 조회 조건 값이 명확하지 않을 때 사용
      • %와 _같은 기호 연산자(wild card)와 함께 사용
      • 조건에는 문자나 숫자를 포함할 수 있음
      • %: ‘모든 문자’, _: ‘한 글자’
    • IS NULL
      • 데이터 값이 NULL인 경우를 조회하고자 할 때
      • NULL: 값이 지정되지 않아 알 수 없는 값 (0, 공백과 다른 값)
  • 논리 연산자
    • AND: 특정 조건을 모두 만족해야 할 때
    • OR
      • 앞 조건도 만족하고 뒷 조건도 만족하는 값을 구할 때
      • 대용량 데이터베이스에서 조회 성능에 많은 영향을 줄 수 있으므로 주의해서 사용
  • NOT 연산자(부정 연산자)
    • 부정 비교 연산자, 부정 SQL 연산자
    • 일반 연산자와 반대로 ‘조건에 맞지 않는’ 경우의 값을 반환

 

 

 

 

모두의 SQL | 김도연 - 교보문고

모두의 SQL | 난생처음 SQL로 데이터를 분석하고 가공해야 한다면? 초보자와 비전공자를 위한 가장 쉬운 SQL 입문서 인터넷이 발전하고 페이스북과 같은 소셜 미디어가 활성화되면서 데이터로 모

product.kyobobook.co.kr