프로그래밍 언어/SQL

<SQL> DML -Select- (1)일반,조건,정렬,복수테이블 검색

창조적생각 2021. 9. 27. 17:28

1. 일반형식

1
SELECT 테이블명.속성명 FROM 테이블명 WHERE 조건 ORDER BY 속성명[ASC/DESC]
cs

 

(1) SELECT 절

DISTINCT ->중복된 튜플이 있으면 그 중 첫 번째 한 개만 표시함

 

속성명 -> 검색하여 불러올 속성 또는 속성을 이용한 수직을 지정함

 

AS -> 속성이나 연산의 이름을 다른 이름으로 표시하기 위해 사용함

 

(2)FROM 절

검색할 데이터가 있는 테이블 이름을 기술함

 

(3) WHERE 절

검색할 조건을 기술함

* 비교 연산자

연산자 = <> > < >= <=
의미 같다 같지 않다 크다 작다 크거나 같다 작거나 같다

*LIKE 연산자

대표문자 % _ #
의미 모든 문자를 대표함 문자 하나를 대표함 숫자하나를 대표함

(4) ORDER BY 절

데이터를 정렬하여 검색할 때 사용함

-속성명 : 기준이 되는 속성명

-[ASC/DESC] -> ASC 오름차순, DESC 내림차순 기본으로 오름차순으로 사용하여 오름차순으로 정렬을 하고 싶으면 ASC를 생략해도 무방함

 

2. select 다양한 예시

 

사용할 테이블

(1) 조건 지정 검색

 

 ○name 테이블에서 '배우' 파트인 모든 튜플 검색

select * from name where part = '배우';

○name 테이블에서 편집 part면서 서대문동에 사는 사람의 튜플 검색

 

select * from name where part = '편집' and addr = '서대문동';

 

 

○name 테이블에서 성이 '엄'인 사람의 튜플 검색

 

select * from name where name like "엄%";

 

(2) 정렬 검색

 

○name 테이블에서 'addr'를 기준으로 내립차순 정렬시켜 검색

 

select * from name order by addr desc;

 

(3) 하위 질의

 

○취미가 우주여행인 사람의 이름과 주소 검색

select name,addr from name where name=(select name from hobby where hobby='우주여행');

○취미활동을 하지 않는 사람들을 검색

select * from name where not in (select name from hobby);

또는

select * from name where not exists (select name from hobby where hobby.name = name.name);

(4) 복수 테이블 검색

○취미활동 경력이 15년 이상인 사람의 name part hobby years를 검색

select name.name,name.part,hobby.hobby,hobby.years from name,hobby where hobby.years>=15 and name.name=hobby.name;

728x90

'프로그래밍 언어 > SQL' 카테고리의 다른 글

<오라클> 오라클 데이터 형식  (0) 2021.09.30
<SQL> DML -JOIN-  (0) 2021.09.28
<SQL> DML -SELECT-(2)group by, having,window  (0) 2021.09.27
<SQL> DCL  (0) 2021.09.03