SQL 종류
1. 데이터를 정의하는 쿼리 - DDL(데이터 정의어) : create, drop, alter, truncate
2. 데이터를 조작하는 쿼리 - DML(데이터 조작어) : insert, select, update, delete
3. 데이터를 제어하는 쿼리 - DCL(데이터 제어어) : grant, revoke
4. 트랜잭션 제어하는 쿼리 - TCL(트랜잭션 제어어) : commit, rollback, checkpoint
튜플 조회 명령어 : select
select은 테이블에서 특정한 혹은 전체 튜플을 조회할 때 사용한다.
select * from member; - member 테이블의 모든 튜플 조회
특정 튜플을 조회할 때는 구체적으로 어떤 튜플을 조회할 지
지정해줘야 하므로 입력할 내용이 추가된다.
select문을 작성할 때는 아래의 실행순서에 유의해서 작성한다.
또한 어떤 요구사항이 있을 때 어떤 형식을 사용할 지 알아차리는 것이 중요하다.
select 명령어의 기본 형식을 보면 다음과 같다.
아래에서 컬럼명(속성명)과 속성을 구분해야 봐야 한다.
SELECT [ALL 또는 DISTINCT] 컬럼명1, 컬럼명2, ...
FROM 테이블명1, ...
WHERE 조건
GROUP BY 컬럼명1, ...
HAVING 그룹조건
ORDER BY 속성 [ASC 또는 DESC] ;
구분 | 설명 |
SELECT절 | - 검색하고자 하는 속성명, 계산식(서브쿼리도가능) - 2개 이상의 테이블을 대상으로 검색할 때는 '테이블명.속성명'으로 표현 - 술어 부분은 ALL이 기본값 ALL : 모든 튜플을 검색할 때 사용.(*도 가능) SELECT 뒤에 명시하지 않을 경우 ALL로 인식 DISTINCT : 중복된 속성이 조회될 경우, 그중 한 개만 검색 (SELECT 뒤에 명시된 속성이 중복될 경우 한 개만 검색) *ALL과 DISTINCT는 선택 입력사항임 |
FROM절 | 질의에 의해 검색될 데이터들을 포함하는 테이블명을 기술 (서브쿼리도 가능) |
WHERE절 | 검색할 조건을 기술(서브쿼리도 가능) |
GROUP BY절 | 속성값을 그룹으로 분류하고자 할 때 사용(그룹화) |
HAVING절 | GROUP BY에 의해 분류한 후 그룹에 대한 조건을 기술 |
ORDER BY절 | 속성값을 정렬하고자 할 때 사용 (오름차순(ASC)이 기본값) ASC : 오름차순 / DESC : 내림차순 |
또한 WHERE절에 연산자가 자주 사용되므로
아래 내용은 미리 숙지가 필요하다.
미만 : <
이하 : <=
이상 : >=
초과 : >
같음 : =
같지않음 : <> 혹은 !=
예시를 통해 이해해보자.
create table member(
no number(2) primary key,
name varchar2(10),
age number(2)
addr varchar2(20)
);
각 컬럼에 대한 설명 :
no : 등록번호
name : 회원명
age : 회원나이
addr : 회원주소
예제1) 나이가 20세 이상인 사람의 정보를 모두 출력하시오.
select * from member where age>=20 ;
예제2) 나이가 20세 이상인 사람의 이름과 나이만 출력하시오.
select name,age from member where age>=20 ;
반대로 아래 쿼리문을 보고 어떤 요구사항이 있었는지 유추한다면?
select name,age,addr from member where age>=30 order by age desc;
위 쿼리문을 하나하나 쪼개서 보는 것이 필요하다.
select name,age,addr - name, age, addr 컬럼정보를 조회하고자 함
from member - member 테이블에 있는
where age>=30 - 나이가 30세 이상인 사람(들)의
order by age desc; - 나이 내림차순으로
따라서 요구사항은,
"member 테이블에서 나이가 30세 이상인 사람의 이름, 나이, 주소를 나이 내림차순으로 출력하시오." 가 된다.
*** 내림차순으로 출력하면 나이의 경우 나이가 많은 사람부터 적은 사람순으로 출력된다.
알파벳의 경우는 z부터 즉, 뒷 순서부터 출력된다는 의미이기도 하다!
보통 오름차순이 기본값이므로 따로 order by 절을 입력하지 않으면 작은 수나 알파벳의 경우 a부터 출력된다.
오름차순은 order by asc 로 지정한다.
'DB > SQL - Oracle' 카테고리의 다른 글
[SQL] DML(데이터 조작어) - select *연산자, where조건문 활용 예제* (0) | 2024.02.02 |
---|---|
[SQL] DDL(데이터 정의어) - alter (0) | 2024.02.02 |
[SQL] TCL(트랜잭션 제어어) - commit, rollback, checkpoint(=savepoint) (0) | 2024.02.02 |
[SQL] DML(데이터 조작어) - insert, update, delete (0) | 2024.02.02 |
[SQL] DDL(데이터 정의어) - create, drop (0) | 2024.02.02 |