데이터 질의어 (DQL, Data Query Language) (1)

심준석·2024년 6월 4일
0

데이터베이스

목록 보기
5/5

데이터 질의어 (DQL, Data Query Language)

사용자들은 원하는 데이터를 추출하기 위하여 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 연산자

Between 하한값 and 상한값
이 때, 하한값과 상한값은 모두 구하고자 하는 범위에 포함

select * from employees
where salary between 120 and 500;

in 연산자

select * from employees
where manage in ("kim9", "yusin");

like 연산자

  • % : 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;

profile
Developer & Publisher 심준석 입니다.

0개의 댓글