**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
'Dev Books Review > 모두의 SQL' 카테고리의 다른 글
[모두의 SQL] 7장. 서브쿼리: SELECT 문 안에 있는 SELECT 문 (0) | 2023.01.11 |
---|---|
[모두의 SQL] 6장. 조인과 집합 (0) | 2023.01.11 |
[모두의 SQL] 5장. ERD: 데이터베이스 개체 설계도 (0) | 2023.01.11 |
[모두의 SQL] 4장. 함수: 함수로 데이터 가공 (0) | 2023.01.11 |
[모두의 SQL] 1장. 관계형 데이터베이스와 SQL (0) | 2023.01.11 |