아래의 글을 통해 테이블과 데이터를 생성한 후에 보도록하자.
2023.05.27 - [국비 지원/SQL] - [SQL] DDL, DML, DCL 명령어
1. WHERE : 조건을 지정하여 데이터 검색하기
select id, name
from member
where id=1;
2. ORDER BY : 데이터 정렬해서 출력하기
OREDER BY 컬럼1, 컬럼2 형식도 가능하고
ORDER BY 1, 2도 가능하다. 여기서 1은 컬럼1을 가르키고 2는 컬럼2를 가르킨다.
- ASC - 오름차순 정렬
select id, name
from member
order by name asc;
- DESC - 내림차순 정렬
select id, name
from member
order by name desc;
3. BETWEEN A AND B : 범위 연산하기
select id, name, age
from member
where age between 20 and 29;
4. AS 별칭 : 별명으로 출력하기
select name, age as 나이
from member;
5. DISTINCT : 중복 제거하기
먼저 아래와 같이 중복된 데이터를 추가해준다.
insert into member(id, name, age, addr)
values(5,"이은지", 20, "서울");
select addr from member;
select distinct addr from member;
6. LIMIT N,M : N번째부터 시작해서 M개 데이터 가져오기
※ 여기서 N과 M의 숫자는 인덱스 번호이다. 즉, 0번부터 시작한다는 뜻이다. ※
select name, age
from member
order by age;
select name, age
from member
order by age limit 1,3;
7. LIMIT N OFFSET M : M번째부터 시작해서 N개 가져오기
select name, age
from member
order by age limit 2 offset 3;
8. LIKE % : 조건에 문자열을 지정해서 찾기
- 서로 시작하는 모든 문자열 찾기
select name, addr
from member
where addr like '서%';
- 산으로 끝나는 모든 문자열 찾기
select name, addr
from member
where addr like '%산';
9. IN : 조건 집합 안에 있는 데이터가 있는지 검색해서 출력하기
존재하지 않는 id를 출력한다고 에러가 발생하지는 않는다.
select id, name
from member
where id in(1,3,5);
10. OR : IN과 동일한 기능
select id, name
from member
where id = 1 or id = 3 or id = 5;
11. NOT : 지정한 값을 제외한 후 출력하기
select id, name
from member
where not id = 2;
12. != : NOT과 동일한 기능
select id, name
from member
where id != 2;
13. IS NULL : NULL 값이 들어간 컬럼 출력하기
앞에서 테이블을 생성할 때 컬럼들을 IS NOT NULL 설정했기 때문에 NULL 값을 INSERT할 수 없다.
그래서 간단하게 테이블명만 바꿔 addr 컬럼만 IS NOT NULL 설정을 없애줬다.
create table member2(
id int not null,
name varchar(20) not null,
age int not null,
addr varchar(100),
primary key(id)
);
insert into member2(id, name, age, addr)
values(1,"홍길동", 30, "서울"),
(2, "코린이", 20, "울산"),
(3, "김철수", 23, null);
select * from member2;
select id, name, addr
from member2
where addr is null;
14. IS NOT NULL : IS NULL과 반대로 NULL 값이 없는 데이터 컬럼만 출력하기
select id, name, addr
from member2
where addr is not null;
'국비 지원 > SQL' 카테고리의 다른 글
[Oracle] 시퀀스(Sequence) (0) | 2023.09.03 |
---|---|
[Oracle] ROWNUM과 사용할 시 주의할 점 (0) | 2023.08.08 |
[Oracle] 숫자형 함수와 문자형 함수 (0) | 2023.07.23 |
[SQL] DELETE, TRUNCATE, DROP의 차이점 (0) | 2023.06.10 |
[SQL] DDL, DML, DCL 명령어 (0) | 2023.05.27 |