kjh00n의 기록저장소

실습4 본문

DB

실습4

kjh00n 2024. 11. 21. 15:05

office_db 밑에 office_table에서 실습


1. 나이를 기준으로 내림차순으로 출력

SELECT * FROM office_table ORDER BY age DESC;


2. 총무팀, 개발팀의 여성만 출력

SELECT * FROM office_table WHERE (depart = '총무팀' OR depart = '개발팀') AND sex = 'W';


3. 성별로 인원수 및 나이의 평균 출력

SELECT sex,COUNT(*),AVG(age) FROM office_table GROUP BY sex;


4. 전체 사원 중 이씨 성을 가진 남성의 모든 정보 출력

SELECT * FROM office_table WHERE name like '이%' AND sex ='M';


5. 이름에 '수'가 들어가는 대리의 모든 정보 출력(첫번째사람부터 4명만 출력)

SELECT * FROM office_table WHERE name like '%수%' AND position = '대리' limit 4;


6. 사원 번호가 20번대인 사람들의 직급만 출력

SELECT position FROM office_table WHERE office_no BETWEEN 20 AND 29;


7. 부서별로 인원수 및 가장 어린 나이를 출력

SELECT depart,COUNT(*),MIN(age) FROM office_table GROUP BY depart;


8. 김씨 성을 가진 남자의 부서, 직급, 이름을 출력

SELECT depart,position,name FROM office_table WHERE name like '김%' AND sex = 'M';


9. 팀장의 평균 나이 및 이름 출력

SELECT position,AVG(age),name FROM office_table WHERE position = '팀장';


10. 이름이 '재'로 끝나는 사람의 부서, 직급, 이름을 출력

SELECT depart,position,name FROM office_table WHERE name like '%재';


11. 전체 과장들의 사원번호, 이름, 부서 출력

SELECT office_no,name,depart FROM office_table WHERE position = '과장';


12. 30대의 남성의 직급, 이름, 나이를 출력 (두번째 사람부터 3명만 출력)

SELECT position,name,age FROM office_table WHERE age BETWEEN 30 AND 39 limit 1,3;


13. 30세 이상 50세 미만의 나이, 전화번호,성별 출력

SELECT age,tel,sex FROM office_table WHERE age BETWEEN 30 AND 49;


14. 개발팀 팀장의 모든 정보 출력

SELECT * FROM office_table WHERE position = '팀장' AND depart = '개발팀';


15. 30대들의 인원수 및 평균 나이, 가장 많은 나이, 적은 나이 출력

SELECT age,COUNT(age) AS '인원수',AVG(age) AS '평균 나이',MAX(age) AS '가장 많은 나이',MIN(age) AS '가장  적은 나이' FROM office_table;


16. 직급 별로 인원수 출력

SELECT position AS '직급',COUNT(*) AS '인원수' FROM office_table GROUP BY position;


17. 전화번호가 3으로 끝나는 직원의 직급, 이름, 나이 출력

SELECT position,name,age FROM office_table WHERE tel like '%3';


18. 20대와 40대 중에 경영팀인 사람의 성별을 제외한 모든 정보 출력

SELECT office_no,depart,position,name,age,tel FROM office_table WHERE age BETWEEN 20 AND 39 AND depart = '경영팀';


19. 이름에 '민'이 들어가는 사람의 모든 정보 출력

SELECT * FROM office_table WHERE name like '%민%';


20. 이씨 성을 가진 남성의 평균 나이 출력

SELECT AVG(age) FROM office_table WHERE name like '이%' AND sex = 'M';


21. 나이가 50이상인 사람의 부서, 이름, 성별 출력

SELECT depart,name,sex FROM office_table WHERE age >= 50;


22. 가장 나이가 많은 사람의 모든 정보 출력

SELECT * FROM office_table GROUP BY age ORDER BY age DESC limit 1;


23. 20대 중에서 가장 나이가 어린 사람의 이름, 직급, 나이 출력

SELECT name,position,age FROM office_table WHERE age BETWEEN 20 AND 29 ORDER BY age ASC limit 1;


24. 남성중 가장 나이가 많은 사람의 부서, 직급, 이름 출력

SELECT depart,position,name FROM office_table WHERE sex ='M' ORDER BY age DESC limit 1;

SELECT depart,position,name FROM office_table WHERE sex ='M' AND age = (SELECT MAX(age) FROM office_table);


25. 총무팀 중 가장 나이가 어린 사람의 모든 정보 출력

SELECT * FROM office_table WHERE depart = '총무팀' ORDER BY age ASC limit 1;

SELECT * FROM office_table WHERE depart = '총무팀' AND age = (SELECT MIN(age) FROM office_table WHERE depart = '총무팀');

'DB' 카테고리의 다른 글

실습5  (0) 2024.11.21
집합 연산자 (Set Operator)  (0) 2024.11.21
JOIN  (0) 2024.11.21
데이터베이스 엔진 (Storage Engine)  (0) 2024.11.21
데이터 사전, Schema  (0) 2024.11.21