사용자들은 원하는 데이터를 추출하기 위하여 select
구문을 사용하며, select
구문은 데이터를 질의하는 구문이무로 DQL
문이라고도 함
SQL 구문 작성 지침
- 키워드 예약어 등에 대한 대소문자 구분이 없음
- 여러 라인에 걸쳐서 작성 가능함
- 키워드는 줄여서 쓰거나 나눠서 쓰면 안됨
- 절과 절은 나뉘어 사용
- 적절한 들여 쓰기는 가독성을 향상시킴
- 세미콜론 (;) 을 사용하여 문장의 끝을 표시하도록 함
기본 문형 | 항목 설명 | 필수 여부 |
---|---|---|
select * | 조회하고자 하는 목록을 열거 | O |
from 테이블1[, 테이블 2, …] | 사용될 테이블 이름을 명시 | O |
where condition | 조건절을 명시, 연산자에 대한 이해가 필요 | X |
group by column | 데이터를 그룹핑하여 좀더 작은 그룹으로 나눌 때 사용 | X |
having by column | 그룹핑에 대한 조건절을 명시하고자 할 때 사용 | X |
order by column | 정렬 방식을 지정 | X |
select * from employees;
select * from employees
where id='an';
select * from employees
where salary>=600 and salary<=1000;
Null
is null
로 비교 가능select * from employees
where salary is null;
Between 하한값 and 상한값
이 때, 하한값과 상한값은 모두 구하고자 하는 범위에 포함
select * from employees
where salary between 120 and 500;
select * from employees
where manage in ("kim9", "yusin");
% : 0개 이상의 문자열을 의미
_ : 반드시 1개의 문자를 의미
첫 글자가 [선]인 회원 : select * from employees where name like "선%";
이름 중에 [연]이라는 글자가 있는 회원 : select * from employees where name like "%연%";
이름의 2번째 글자가 [리] 인 회원 : select * from employees where name like "_리";
이름 중에 [성]이 들어 있는 회원 : select * from employees where name like "%선%";
- where id not in ('kim9', 'yusin');
- where marriage not in('이혼');
- where salary not between 220 and 230;
- where name not like '김%';
- where salary is not null;
- where manager is not null;
여러 키워드를 복합적으로 사용 가능
ex) 성씨가 "김"씨 이거나 "여자"인 회원들을 출력하되, 이름에 대하여 내림차순 정렬
select *
from employees
where name like "김%" or gender="여자"
order by name desc;