728x90
목차
1.데이터 조작어(DML: Data Manipulation Language)
2.SELECT 활용
1.데이터 조작어(DML: Data Manipulation Language)
1-1. DML 명령어 종류
구분 | DDL 명령어 | 설명 |
---|---|---|
데이터 사입 | INSERT | 테이블에 내용 삽입 |
데이터 수정 | UPDATE | 테이블의 내용 수정 |
데이터 삭제 | DELETE | 테이블의 내용 삭제 |
데이터 조회 | SELECT | 테이블의 내용 조회 |
1-2. INSERT
1. 필드명을 지정하여 삽입
* INSERT INTO 테이블명 (필드) VALUE (값)
2. 필드명을 지정하지 않고 삽입
* INSERT INTO 테이블명 VALUE (값)
3. 다른 테이블 내용 복사
* INSERT INTO 테이블명 (필드) SELECT 필드 FROM 원본테이블
1-3. UPDATE
* 조건식에 대응되는 튜플들의 값을 갱신
* UPDATE 테이블명 SET 필드=값 WHERE 조건식
1-4. DELETE
* 조건식에 대응되는 튜플을 삭제
* DELETE FROM 테이블명 WHERE 조건식
1-5 SELECT
* SQL 중 가장 많이 사용되는 조회 명령어
* SELECT [DISTINCT] 필드 FROM 테이블명
[WHERE 조건식] GROUP BY 필드 [HAVING 조건식]
[ORDER BY 필드 [ASC|DESC]]
2.SELECT 활용
2-1. SELECT 명령어 옵션
1. DISTINCT: 중복 튜플을 제거하여 조회
2. *: 모든 필드를 조회
3. GROUP BY: 지정된 필드의 데이터를 기준으로 튜플을 그룹화
4. HAVING: 그룹별 조건을 만족하는 튜플들을 조회
5. ORDER BY: 지정된 필드를 기준으로 튜플을 정렬
2-2. 집계함수와 AS
1. AS
* SELECT SUM(영어점수) AS '영어 합계' FROM 성적
2. 필드와 AS
* SELECT 주민등록번호 AS 주민번호, 이름 FROM 사원
3. 계산식과 AS
* SELECT 시험점수-5 AS 조정점수 FROM 성적
4. 집계함수
* COUNT: 개수
* SUM: 합계
* AVG: 평균
* MAX: 최대값
* MIN: 최소값
* STDEV: 표준편차
* VAR: 분산
2-3. 조건식 지정방식
1. AND
* 국어와 영어점수 모두 80점 이상
* SELECT * FROM 성적 WHERE 국어 >= 80 AND 영어 >= 80
2. OR
* 1반 또는 3반 출력
* SELECT * FROM 성적 WHERE 반="1반" OR 반="3반"
3. IN
* 1반 또는 3반 출력
* SELECT * FROM 성적 WHERE 반 IN("1반","3반")
4. IS NULL
* 벌점 필드가 비어있는 튜플 출력
* SELECT * FROM 성적 WHERE 벌점 IS NULL
5. LIKE
* 이름이 정으로 시작되는 튜플
* SELECT * FROM 성적 WHERE 이름 LIKE 정%
6. BETWEEN
* 평균이 80점 출력
* SELECT * FROM 성적 WHERE 평균 BETWEEN 80 AND 89
2-4. 하위 질의(Sub query)
1. 서브쿼리의 개념
* 서브쿼리를 포함하고 있는 쿼리문을 메인쿼리(Main query)
* 포함된 또 하나의 쿼리를 서브쿼리(Sub query)
2. 서브쿼리 활용시 유의사항
* 서브쿼리는 비교연산자의 오른쪽에 기술해야하고 반드시 소괄호 안에서 사용
* 서브쿼리는 ORDER BY절을 사용하지 않는다
* 단일 행 비교 연산자로 비교되는 서브쿼리의 결과는 1건 이하여야 한다
3. 단일 행 (Single Row) 서브쿼리
* SELECT * FROM 성적 WHERE 학과 =
(SELECT 학과 FROM 성적 WHERE 성명 = '홍길동')
* SELECT * FROM 성적 WHERE 점수 >
(SELECT 점수 FROM 성적 WHERE 성명 = '홍길동')
4. 다중 행 (Multiple Row) 서브쿼리
* 서브쿼리에서 반환되는 결과가 여러행이 반환되는 쿼리
* IN, ANY, SOME, ALL, EXISTS 사용
* SELECT 성명, 학년 FROM 데이터베이스 WHERE 학번 IN
(SELECT 인공지능, 학번 FROM 인공지능)
* SELECT 성명, 학년 FROM 데이터베이스 WHERE exists
(SELECT * FROM 인공지능 WHERE 데이터베이스.학번 = 인공지능.학번)
2-5. 정렬
1. 오름차순 정렬
* SELECT * FROM 성적 ORDER BY 성별 ASC
2. 내림차순 정렬
* SELECT * FROM 성적 ORDER BY 성별 DESC
2-6. 그룹화
1. 그룹과 요약
* SELECT 성별, COUNT(*) FROM 성적 GROUP BY 성별
2. 그룹과 조건 지정
* SELECT 성별, COUNT(*) FROM 성적 GROUP BY 성별 HAVING 평균 >= 80
2-7. 조인(JOIN)
1. INNER JOIN
* SELECT * FROM 학생 JOIN 과목 ON 학생.과목코드 = 과목.과목코드
2. LEFT JOIN
* SELECT * FROM 학생 LEFT JOIN 과목 ON 학생.과목코드 = 과목.과목코드
3. RIGHT JOIN
* SELECT * FROM 학생 RIGHT JOIN 과목 ON 학생.과목코드 = 과목.과목코드
참고자료 : 이기적 환상콤비 정보처리기사
728x90
'자격증 > 정보처리기사' 카테고리의 다른 글
정규화 (0) | 2022.07.04 |
---|---|
데이터제어어(DCL) (0) | 2022.07.03 |
데이터정의어(DDL) (0) | 2022.07.02 |
E-R 다이어그램 (0) | 2022.07.02 |
논리 데이터 모델링 (0) | 2022.07.01 |