더 많은 포스팅 보기 자세히보기

T자형 개발/Database

SQL의 구성: DML 데이터 검색(SELECT)

유도혁 2021. 5. 23. 17:45

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를 사용하면 된다.