SQL 1. SELECT문을 사용하는 데이터 검색

sim·2023년 7월 20일

새싹 백엔드 과정

목록 보기
5/24
  • SQL문 작성
    - 대소문자 구분X
    - 한줄 또는 여러줄에 입력가능
    - 키워드 약어 표기X, 여러줄에 걸쳐 입력X
    - 절(clause)은 대개 별도의 줄에 입력

💚 select문을 사용하는 데이터 검색

기본 SELECT문

SELECT * | [DISTINCT] column | expreession [alias], ...
FROM table;

1. 표시할 열을 지정하는 SELECT 절
* : 모든 열 선택
[DISTINCT] : 중복을 방지 (필요시)
column/expression : 이름 지정된 열 또는 표현식 선택
[alias] : 선택한 열에 다른 별칭 지정 (필요시)

2. SELECT절에 나열된 열을 포함하는 테이블을 식별하는 FROM절
table : 열이 포함된 테이블 지정

3. 산술 표현식
: SQL문의 모든 절(FROM절 제외)에서 산술 연산자 사용 가능. (date및 timestamp 데이터 형식은 더하기/빼기만 가능)

SELECT last_name, salary, salary+300
FROM employees;

4. NULL값 정의
: 사용할 수 없거나, 할당되지 않거나, 알 수 없거나, 적용할 수 없는 값. 0이나 공백은 아님!! (0은 숫자, 공백은 문자임)
& 널값을 포함하는 산술식은 널로 계산됨..

5. 열 Alias 정의
: 열 머리글의 이름을 변경. 계산에 유용. 열 이름 바로 뒤에 나옴(OR 열이름과 별칭 사이에 AS키워드를 넣기)
& 공백이나 특수문자 포함, 대소문자 구분하는 경우 " " 안에 넣기.

SELECT last_name AS name
FROM employees;

SELECT last_name "Name"
FROM employees;

6. 연결 연산자
: 열 또는 문자열을 다른 열에 연결 (||) 그냥 바로 옆에다 붙음!!
& 문자열에 NULL값을 결합할 경우 결과는 문자열

SELECT last_name||job_id AS "Employees"
FROM employees; 

7. 리터럴 문자열 사용
: 문자, 숫자 또는 날짜
날짜 및 문자 리터럴 값은 ''으로 묶기.
각 문자열은 반환되는 각 행에 한 번 출력됨.

SELECT last_name || 'is a '||job_id AS "Employee Details"
FROM employees;

8. 대체 인용(q) 연산자
: 자신의 따옴표 구분자를 지정. 구분자를 임의로 선택함.

SELECT department_name || q' [Department's Manager Id: ]'|| manager_id AS "Department and Manager"
FROM departments;

리터럴 문자열 사용시 리터럴 값 안에 's가 있을 경우... ERROR: ORA-01756: quoted string not properly terminated > 그러므로 대체 인용 연산자 q가 필요함.

9. 중복 행(rows)
: Query 결과의 기본 표시는 중복 행을 포함한 모든 행이므로 > DISTINCT 키워드를 사용. (=UNIQUE)

SELECT DISTINCT department_id
FROM employees;
profile
sim

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

좋은 글 잘 읽었습니다, 감사합니다.

답글 달기