• SQL 조작어는 데이터의 검색, 삽입, 수정, 삭제 등을 위해 사용된다.
• SQL 조작어는 SELECT, INSERT, UPDATE, DELETE문 4가지 명령어가 있다.
SELECT(검색문)
• SELECT문은 테이블에서 원하는 자료를 검색하고자 하는 경우에 사용되는 명령문이며, 산술식에 의한 계산도 수행한다.
• 구문
SELECT [DISTINCT] 속성_이름 FROM 테이블_이름 [WHERE 조건] [GROUP BY 속성_이름 [HAVING 그룹 조건]] [ORDER BY 속성_이름 [ASC|DESC]; |
- SELECT 속성_이름 : 검색하고자 하는 속성 이름을 나열하여 기술한다. 필요에 따라 구하고자 하는 값에 대한 계산식을 기술한다.
•DISTINCT : 검색 결과에 중복되는 값이 있는 경우 한 번만 표현되도록 하는 옵션이며, 생략 시 중복된 값이 모두 표 시 된다.
- FROM 테이블_이름 : 검색하고자 하는 속성이 있는 테이블 이름을 기술한다.
- WHERE 조건 : 검색에 필요한 조건을 기입하는 부분으로 관계 연산자 (=, <>, <=,>,>=)와 논리 연산자 (NOT, AND, OR) 등의 다양한 연산자를 이용할 수 있다.
- GROUP BY 속성_이름: 작업의 효율을 위해 필요시 한 속성의 값을 그룹으로 분류하고자 할 때 사용된다.
• HAVING 그룹조건 : GROUP BY에 의해 그룹으로 분류를 한 후 조건을 제시할 때 사용된다.
- ORDER BY 속성_이름 : 검색하고자 하는 속성의 값을 정렬하여 검색하고자 하는 경우 사용 된다. 정렬방법은 오름차순, 내림차순 등이 있다.
• ASC : 오름차순(작은 값에서 큰 값)으로 정렬할 때 사용되는 옵션이다.
• DESC : 내림차순(큰 값에서 작은 값)으로 정렬할 때 사용되는 옵션이다.
• 기본적으로 오름차순 정렬이 되며, 정렬 기준은 2가지 이상 주어질 수 있다.
①단순 질의문
기본적인 형태의 검색문을 말한다
학생
학번 | 성명 | 학년 | 수강과목 | 점수 | 연락처 |
011111 | 김예진 | 1 | 경영학과 | 85 | 2341-4567 |
022010 | 김상현 | 2 | 산업공학과 | 80 | 111-1234 |
033223 | 김태희 | 1 | 데이터베이스 | 88 | 2452-2151 |
044020 | 유병승 | 3 | 운영체제 | 92 | |
055533 | 양호준 | 2 | 행정학과 | 90 | 2432-4461 |
066017 | 이우식 | 4 | 행정학과 | 75 | 6255-7588 |
예1) [학생] 테이블에서 모든 학생의 성명을 검색하시오.
SELECT 성명 FROM 학생; |
<결과>
성명 |
김예진 |
김상현 |
김태희 |
유병승 |
양호준 |
이우식 |
예2) [학생] 테이블에서 데이터베이스를 수강하는 학생의 학번과 성명을 검색하시오.
SELECT 학번, 성명 FROM 학생 WHERE 수강과목='데이터베이스'; |
<결과>
학번 | 성명 |
033223 | 김태희 |
예3) 학생 테이블에서 3학년 학생의 모든 속성을 검색하시오.
SELECT * FROM 학생 WHERE 학년 =3; |
<결과>
044020 | 유병승 | 3 | 운영체제 | 92 |
예4) [학생] 테이블에서 학년이 '3학년'이고, 수강과목이 '산업공학'인 학생의 성명과 연락처를 검색하시오.
SELECT 성명, 연락처 FROM 학생 WHERE 학년=3 AND 수강과목='산업공학'; |
<결과>
성명 | 연락처 |
김상현 | 111-1234 |
예5) [학생] 테이블에서 학년이 '1학년'이거나 수강과목이 '운영체제'인 학생의 성명을 검색하시오.
SELECT 성명 FROM 학생 WHERE 학년=1 OR 수강과목 ='운영체제'; |
<결과>
성명 |
김예진 |
김태희 |
유병승 |
② 'DISTINCT' 옵션을 이용하여 중복된 값을 제거한 검색의 경우
예) [학생] 테이블에서 2학년 이상인 학생의 수강과목을 검색하되, 같은 수강과목값은 한 번만 검색되도록 하시오.
SELECT DISTINCT 수강과목 FROM 학생 WHERE 학년>=2; |
'DISTINCT' 옵션을 사용하지 않는 경우
수강과목 |
산업공학 |
운영체제 |
행정학과 |
행정학과 |
<결과> 'DISTINCT' 옵션을 사용한 경우
수강과목 |
산업공학 |
운영체제 |
행정학과 |
@All rights reserved by 영진닷컴
'정보처리기사' 카테고리의 다른 글
SQL 조작어(DML) - SELECT (검색된 결과 정렬) (0) | 2021.07.20 |
---|---|
SQL 조작어(DML) - SELECT (함수를 이용한 검색문 ) (0) | 2021.07.20 |
SQL 정의어 (DDL) - DROP (0) | 2021.07.17 |
SQL 정의어 (DDL) -ALTER (0) | 2021.07.17 |
SQL 정의어(DDL) - CREATE (0) | 2021.07.15 |