본문 바로가기
DB/Oracle

[Oracle] 오라클 테이블 조회 2 - select, where, edit, order by

by hongdor 2020. 5. 29.
728x90

- 오라클 11g XE 버전입니다.

- 오라클 샘플 계정 HR에 접속한 후 진행했습니다. ( 아래 참고 )

https://hongdori2.tistory.com/4

 

 

0. Edit

 

들어가기에 앞서 한가지 유용한 기능을 소개하겠습니다.

edit 또는 ed를 입력하면 메모장이 등장합니다

 

 

메모장에는 가장최근에 실행한 문장이 기록되어 있습니다.

메모장의 내용을 수정 후( 세미콜론(';') 없이 ) 저장하고 닫으면 'Wrote file afiedt.buf' 문구가 출력되고 

그 다음 '/' 를 입력하면 수정된 메모장의 내용으로 실행됩니다. 

 

 

 

SQL 문법

 

- SQL은  Structured Query Language의 약자로 데이터베이스 관리 시스템 관리를 위한 프로그래밍 언어를 의미합니다.

 

지난 오라클 테이블 조회 1편에서 select 와 from만 사용했지만 이 외에도 아래와 같이 다양한 문법을 사용합니다.

 

select

from

where

group by

having

order by

 

 

1. select - 추가 기능

 

(1) 연산자수식 - 예시) select salary*12 from employees;

- +,-,*,/ 사칙연산 모두 가능합니다

 

(2) 모든 열 조회 - 예시) select * from employees;

- *은 all을 의미합니다. 

 

(3) 중복 제거 - 예시) select distinct job_id from employees;

 

(4) 문자열 결합 - shift + \ 를 누르면 '|' 가 나오는데 '||' 를 이용해 문자열을 결합하여 출력합니다

  예시) select '고용날짜는' || hire_date ||  '입니다' from employees;

- 작은 따옴표(')는 문자열이나 날짜 데이터형을 표현할 때 사용됩니다.

  예시) 'Ellen' , '20/05/29'

 

(5) 별칭 설정 - select 열이름1 별칭1, 열이름2 별칭2, ...

  예시) select first_name 이름 salary 월급 from employees;

first_name의 열이름이 '이름' 으로 salary 열이름이 '월급'으로 표시되는 것을 볼 수 있습니다.

 

- 별칭에 띄어 쓰기가 필요한 경우 큰따옴표(")로 묶어줍니다.

  예시) select first_name "이 름" from employees; 

 

 

2. where

 

where 조건문

> where은 조건문을 설정할 때 사용합니다.

 

- 비교 구문 : =, <>(같지않다), >, >=, <=, <

- 논리 : and, or, not

- between : where 열이름 between A and B 

- '%' : 글자 개수, 내용 무관, '_' : 언더바(under_bar)로 1글자 내용무관

 > 예시) '%S%' : S가 들어가는 문자열, '_S%' : 두번째 글자가 S열 

- in : 목록연산자. ex) where deaprtment_id in (1, 5, 10)  : department_id 가 1 or 5 or 10 

- like : where의 조건문에서 문자열에 '%' 혹은 '_' 를 사용할때 '=' 대신 'like'를 사용합니다. ( 아래 예문2 참고 ) 

- is : null 과 비교는 is를 사용한다. 예시) where first_name is null; 혹은 where first_name is not null;

 

예문)

select  first_name 

from employees

where first_name = 'Ellen'; 

> 내용 : employees 테이블에서 first_name 열을 출력하되, 문자열의 값이 Ellen인 것만 출력해라.

 

- 실행문 입력후 엔터를 쳐도 문장을 실행되지 않고 세미콜론(;)을 포함한 문장이 나와야 한꺼번에 실행됩니다.

- 실행문을 입력할 때는 대소문자를 구분하지 않지만 문자열에서는 대소문자를 구별합니다.

  예시) SELECT FIRST_NAME FROM EMPLOYEES; 와 select first_name from employees; 는 같게 실행됩니다.

         문자열 'Ellen' 과 'ellen'은 같지 않습니다.

 

 

예문2)

select first_name

from employees

where first_name like 'S%';

> 내용 : employees 테이블에서 first_name 열을 출력하되, 문자열의 값이 S로 시작하는 것만 출력해라.

 

 

 

 

3. order by

 

order by 열이름 정렬방법

> order by는 출력된 열 값을 정렬할 때 사용합니다.

 

예시)

select first_name

from employees

order by first_name asc;

> 내용 : employees 테이블에서 first_name 열을 first_name의 값들의 오름차순에 따라 출력해라.

 

- asc는 기본값으로, 작성하지 않고 order by first_name; 까지만 적어도 동일하게 동작합니다.

- asc는 ascend의 약자로 descend의 약자인 desc를 사용해 내림차순으로 정렬할 수도 있습니다.

- 열이름에 숫자를 넣는 것도 가능합니다. 숫자는 select 뒤 열이름 순서와 매칭됩니다.

- order by ~ 끝에 nulls first or nulls last 를 붙여 null 값을 선출력 혹은 후출력 할 수 있습니다. 

 

 

728x90

댓글