DML(Date Manipulation Language)
SELECT *DISTINT = 중복된 값을 제거
INSERT
DELETE
UPDATE
조건 지정 검색
1. '이거나' 라는 조건을 검색할 떄, '똑같은 속성안에 있는 검색 조건이여야 IN을 쓸 수 있다 그게 아니라면 OR
2. SELECT *
FROM 학생
WHERE 성명 LIKE '이_ _;
=> 와일드 카드 _, % _ = 한글자, % = 문자열
LIKE 'A%' = 'A'로 시작하는 데이터만 검색
LIKE '%A' = 'A'로 끝나는 데이터만 검색
LIKE '%KIM%' = 'KIM' 문자가 있는 데이터 들만 검색
LIKE '%K%I%' = 'K' 문자와 'I'문자가 있는 데이터 들만 검색
LIKE '_A%' = 'A'문자가 두 번째 위치한 데이터 들만 검색
3. BETWEEN 이상 AND 이하
4. ORDER BY 속성 ASC, 속성 DESC
5. IS NULL / IS NOT NULL
그룹 지정 검색
1. SELECT 학번, AVG(성적) AS 평균성적 => 평균성적이란 속성을 만들어 그 밑에 평균을 넣어라
FROM 수강
GROUP BY 학번
2. SELECT 과목코드, COUNT(*) AS 학생수 => 테이블에서 2명 이상 등록한 과목의 과목코드와 학생수를 검색할 떄,
FROM 수강 GROUP BY로 과목코드 별로 묶고 그 갯수를 HAVING절로 조건을 걸어 카운트 한 후,
GROUP BY 과목코드; 학생수라는 새로운 속성을 만들어 그 밑에 과목코드와 학생수를 넣는다.
HAVING COUNT(*) >= 2;
부속 질의 검색 = 테이블 두개에서 검색할때
1. in과 exist => where 속성 in (), where exist()
2. UNION 과 EXCEPT => UNION은 합집합, EXCEPT은 차집합.
조인 질의
EX) 전기 학과 학생의 학번과 성명, 수강하고 있는 과목코드를 검색하시오.
SELECT a.학번, a.성명, b.과목코드
FROM 학생 a, 수강 b
WHERE a.학번=b.학번 AND a.학과='전기';
SELECT a.학번, a.성명, b.과목코드
FROM 학생 a, JOIN 수강 b ON(a.학번=b.학번)
WHERE a.학과='전기';
SELECT a.학번, a.성명, b.과목코드
FROM 학생 a, LEFT OUTER JOIN 수강 b *LEFT OUTER JOIN을 하면 조건에 만족하지 못하더라도 널값으로 들어간다
ON (a.학번=b.학번)
WHERE a.학과='전기';
...
INSERT INTO 테이블명(속성명1, 속성명2..)
VALUES(데이터1, 데이터2, ...);
DELETE FROM 테이블명
WHERE 조건;
UPDATE 테이블명
SET 속성명=데이터,
WHERE 조건;
'정보처리기사 > Database' 카테고리의 다른 글
정처기 수준에서의 데이터베이스 - 회복과 병행제어 (0) | 2018.10.04 |
---|---|
정처기 수준에서의 데이터베이스 - 데이터베이스 고급 기능 (0) | 2018.10.04 |
정처기 수준에서의 데이터베이스 - SQL(DDL, DCL) (0) | 2018.10.04 |
정처기 수준에서의 데이터베이스 - 관계 데이터 연산 (0) | 2018.10.04 |
정처기 수준에서의 데이터베이스 - 물리적 데이터베이스 모델링 (0) | 2018.10.04 |