본문 바로가기
정보처리기사 필답 실기. 코딩 문제.

SQL. 데이터베이스 4

by 귀엽소 2025. 5. 31.
반응형

SELECT AU

FROM BIB

WHERE TI='정보학개론'

 

정으로 시작하는 걸 다 검색하는 경우: 정%

가운데에 정자가 들어가면 다 검색하는 경우: %정%


SELECT 학생명 

FROM 학적

WHERE 전화번호 IS NOT NULL


SELECT *

FROM 공급자

WHERE 공급자명 LIKE '%신%'


SELECT 이름, 과목, 점수

FROM 학생

WHERE 이름 NOT LIKE '박_ _'

 

'박'으로 시작하지 않는 3글자의 문자 이름을 검색한다.


SELECT *

FROM 회원

WHERE 나이 >=20 

AND 나이 <=30

AND 이름 LIKE '김*'

 

SELECT *

FROM 회원

WHERE 나이

BETWEEN 20 AND 30

AND 이름 LIKE '김*'


SELECT 성명, AVG(점수)

FROM 성적

GROUP BY 성명


subject
math
kor
kor
eng
math
eng
eng

SELECT count(*)

FROM tbl

GROUP BY subject 

HAVING count(*)>2;  //영어 3개

 

정답: 3

 


INSERT INTO EMP VALUES ('정직원', 2, 200);

UPDATE EMP SET DEPT=1

WHERE NAME LIKE '박%';

SELECT DEPT, AVG(SALARY) AS ASAL

FROM EMP

GROUP BY DEPT

HAVING COUNT(*)>=2  //DEPT를 그룹화. 그 갯수가 2와 같거나 큰 것만 해당.

ORDER BY DEPT ASC;


SELECT DEPTNO, AVG(SALARY)

FROM EMP

GROUP BY DEPTNO

HAVING AVG(SALARY)>=20000;


SELECT AVG([나이])

FROM 학생

WHERE 학년="SN"

GROUP BY 전공

HAVING COUNT(*)>=2;

 

정답: 24

 


SELECT 학과, AVG(점수), MAX(점수), MIN(점수)

FROM 학생

GROUP BY 학과

#학생 테이블에서, 각 학과별 평균 성적, 최고 성적, 최저 성적 검색하라.

 

SELECT 학과, 학년, COUNT(*), AVG(점수)

FROM 학생

GROUP BY 학과, 학년

#학생 테이블에서, 각 학과의 각 학년별 인원수와 평균 성적 검색하라.

 

SELECT 학과, AVG(점수)

FROM 학생

WHERE 학과>=100

GROUP BY 학과

#학생 테이블에서, 학과 번호가 100번 이상인 학과들의 평균 성적 검

 

SELECT 학년, COUNT(*), AVG(점수)

FROM 학생

WHERE COUNT(*)>=10

GROUP BY 학년

HAVING COUNT(*)>=10

#학생 테이블에서, 각 학년별로 학생수가 10명이상인 학년, 학생수, 평균성적 검색.


SELECT name, grade, height

FROM STUDENT

WHERE height>(SELECT height FROM STUDENT WHERE NAME='홍길동');  하위질의


<<틀리기 쉬운 문제>>

SELECT 동아리, SUM(과제수)

FROM 과제

WHERE 학생수>=10

GROUP BY 동아리;

#학생이 10명 이상 가입한 동아리에 대하여,

동아리와 제출한 총 과제수를 출력하라.


INSERT INTO 테이블명(속성) VALUES 속성('  ')

 

INSERT는 여러 테이블에 동시에 데이터를 추가 할 수 없다. 하나의 테이블에만 추가 가능.


UPDATE 회원 SET 전화번호='010-14'

WHERE 회원번호='N4'


DELETE 

FROM 학생

WHERE 학번=1000

 

DELETE FROM STUDENT, ENROL

WHERE SNO=100;

#딜리트는 하나의 테이블에서만 삭제 가능함. 2개 안 됨.

 


SELECT COUNT(DISTINCT CNO)

FROM ENROL

WHERE SNO=100;

 

SELECT SNO, SNAME

FROM STUDENT

WHERE DEPT=NULL;

#널은 이렇게 검색 안됨. IS NULL, IS NOT NULL. 이런식으로 검색해야함.

 

INSERT INTO STUDENT VALUES(100, '홍길동', 2);


<<틀리기 쉬운 문제>>

SELECT * DISTINCT ->SELECT DISTINCT * 이러면 맞는 문장.

FROM MEMBER

WHRER AGE=17;

#DISTINCT는 어떤 속성 앞에 있어야함.


 

반응형

댓글