앎을 경계하기

Programming/Certificate

정보처리기사 실기 SQL(1) - DML

양갱맨 2019. 4. 7. 17:13

<데이터 검색>

 

SELECT 속성(DISTINCT)(AS 속성 별칭) FROM 테이블명 WHERE 조건;
* DISTINCT = 중복 제거

 

GROUP BY 와 HAVING은 세트라고 생각하기.
GROUP BY로 그룹을 묶을 때 묶는 기준은 HAVING에다 써준다.

 

LIKE : 조건에 단어 검색할 때 사용한다.
“%김” = 김으로 끝나는 데이터
“%김%” = 데이터 중 김이 들어가있는 데이터
“김%” = 김으로 시작하는 데이터
"_김" = 앞에 한글자가 있고 뒤에 김인 데이터
"__김" = 앞 두글자가 있고 김으로 끝나는 세 글자 데이터

 

WHERE 속성 BETWEEN 값1 AND 값2;
속성 중에 값1 이상 값2 이하인 경우 (값1,값2 포함)
값1 이상 값2이하가 아닌 경우 찾고 싶으면 NOT BETWEEN 값1 AND 값2를 사용.

 

여러 데이터에서 찾는 경우( ‘=’을 사용해서 비교하는 경우와 차이가 있음!)
WHERE 속성 IN(값1, 값2, …);
만약 그 값1,값2만 아닌 데이터를 찾고 싶을때는 IN 대신 NOT IN을 쓰면 된다.

 

문제 중 조건이 “~~이고 ~~인”이 나오면 AND(그리고)를 사용하고
“~~이거나 ~~이면”이 나오면 OR(또는)를 사용한다.

ORDER BY는 데이터를 정렬하기 위해서 사용한다.
ORDER BY 속성 ASC/DESC 오름차순 또는 내림차순으로 정렬한다.
* 오름차순은 1,2,3,4,5,6,7 작은 것부터/ 내림차순은 9,8,7,6,5… 큰 것부터.
 ASC는 기본값이기 때문에 ORDER BY 나이 하면 나이를 오름차순으로 정렬한다.
 ORDER BY 나이, 학년 으로도 가능함. 나이로 먼저 오름차순 정렬하고 학년으로 그다음 
오름차순 한다. 나이가 같아도 학년이 낮으면 낮은 학년인 데이터부터 나오게 된다.

 

<데이터 삽입>

 

INSERT INTO 테이블 명(속성1, 속성2, 속성3, ….)
VALUES (값1, 값2, 값3, ….);

 

<데이터 갱신>

 

UPDATE 테이블 명 SET 속성1 = 값1, 속성2 = 값2, … WHERE 조건;

 

<데이터 삭제>

 

DELETE FROM 테이블명 WHERE 조건