SQL에서 가장 많이 사용하며, 중요함!!
• 형식
SELECT <필드리스트>
FROM <테이블리스트>
WHERE <조건>
• SELECT : 질의 결과로 출력할 필드들의 리스트
• FROM : 질의 실행과정에 필요한 테이블들의 리스트
• WHERE : 검색되어야 하는 레코드에 대한 조건, 생략 가능
• SELECT 질의1
SELECT * FROM department;
- 모든 필드에 대해 검색 : * 사용
• SELECT 질의2
SELECT dept_id FROM department;
- 특정 필드에 대해 검색
• SELECT 질의3 - 조건부여
SELECT * FROM department WHERE dept_name=‘Hacking Dept’;
- 하나의 조건에 맞는 레코드 검색
• SELECT 질의4 – 조건부여 (AND조건)
SELECT * FROM department
WHERE dept_name=‘Hacking Dept’
AND office=‘4th floor’;
- 여러 개의 조건에 맞는 레코드 검색
• SELECT 질의5 – 조건부여 (OR조건)
SELECT * FROM department
WHERE dept_name=‘Hacking Dept’
OR dept_id=‘U31’;
- 여러개의 조건에 맞는 레코드 검색
• SELECT 질의6 – 정렬/순서 지정 (ORDER BY)
SELECT * FROM department ORDER BY office ASC;
- 특정 필드의 오름차순으로 정렬 : ORDER BY 필드명 ASC
• SELECT 질의7 – 정렬/순서 지정 (ORDER BY)
SELECT * FROM department ORDER BY office DESC;
- 특정 필드의 내림차순으로 정렬 : ORDER BY 필드명 DESC
• SELECT 질의8 – 테이블이나 필드에 대한 재명명
- 실제 테이블 이름이 수정되거나 필드 이름이 바뀌는 것이 아님 - 질의를 처리하는 과정 동안만 일시적으로 사용
- 표현이 단순화하거나, 동일 이름이 존재할 경우에 사용
SELECT dept_id AS '학과아이디', dept_name AS '학과명', office AS '위치' FROM department;
SELECT dept_id '학과아이디', dept_name '학과명', office '위치' FROM department;
• 문자열 일부분에 대한 검색 (like)
- 문자열에 대해서는 일부분만 일치하는 경우를 찾아야 할 때 사용 - ‘=‘ 연산자 대신에 ‘like’연산자를 이용함
- ‘=‘는 정확히 일치하는 경우에만 사용
• 형식
WHERE <필드이름> LIKE <문자열패턴>
- <필드이름>에 지정된 <문자열패턴>이 들어 있는지를 판단
• 문자열 패턴 종류SELECT 질의9 – 문자열 일부분에 대한 검색 (like) - _ :임의의한개문자를의미한다
- % :임의의여러개문자를의미한다
• 예시
- ‘%서울%’ : ‘서울’이란 단어가 포함된 문자열
- ‘%서울’ : ‘서울’이란 단어로 끝나는 문자열
- ‘서울%’ : ‘서울’이란 단어로 시작하는 문자열
- ‘_ _ _’ : 정확히 세 개의 문자로 구성된 문자열
- ‘_ _ _%’ : 최소한 세 개의 문자로 구성된 문자열
• 질의9 – 문자열 일부분에 대한 검색 (like)
SELECT * FROM department
WHERE office like ‘4th %’;
SELECT * FROM department
WHERE dept_id like ‘_31’;
2022.02.19
반대로 일치하지 않는 것만 보고싶다면, NOT LIKE를 사용하면 된다.
'T자형 개발 > Database' 카테고리의 다른 글
SQL HAVING (0) | 2022.02.19 |
---|---|
기본키 참조와 서브 쿼리와 DML - 집계함수 (0) | 2021.06.25 |
SQL의 구성: DML 데이터 수정(UPDATE), 삭제(DELETE) (0) | 2021.05.23 |
SQL의 구성: DML 레코드 삽입(INSERT) (0) | 2021.05.08 |
SQL의 구성: DDL (0) | 2021.05.04 |