본문 바로가기

SQL10

[SQL 기초 연습] 10. 이젠 테이블이 2개입니다 다음과 같은 직원(employees) 테이블과 부서(departments) 테이블이 있습니다.employees 테이블iddepartment_idname1101르탄이2102배캠이3103구구이4101이션이departments 테이블idname101인사팀102마케팅팀103기술팀38.현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!    > SELECT COUNT(*) FROM departments;39.모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!    > SELECT e.name, d.name FROM employees AS e                       JOIN departments AS d ON e.department_id = d.id; 40.'기술팀' .. 2025. 1. 16.
[SQL 기초 연습] 9. 아프면 안됩니다! 항상 건강 챙기세요! 의사가 있으면 당연히 의사에게 진료받는 환자가 있겠죠? 아래와 같은 patients(환자) 테이블이 있습니다.idnamebirth_dategenderlast_visit_date1르탄이1985-04-12남자2023-03-152배캠이1990-08-05여자2023-03-203구구이1982-12-02여자2023-02-184이션이1999-03-02남자2023-03-1734.patients 테이블에서 각 성별(gender)에 따른 환자 수를 계산하는 쿼리를 작성해주세요!    > SELECT gender,COUNT(*) FROM patients GROUP BY gender;35.patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!    > SELECT COUNT(*) F.. 2025. 1. 16.
[SQL 기초 연습] 8. LOL을 하다가 홧병이 나서 병원을 찾아왔습니다. -- 연도와 개월을 같이 빼는 쿼리SELECT DATE_SUB(CURDATE(), INTERVAL 2 YEAR + INTERVAL 3 MONTH);-- 두 날짜의 차이 계산에도 사용 가능SELECT DATEDIFF(NOW(), DATE_SUB(CURDATE(), INTERVAL 5 YEAR));​이제, 아래와 같은 doctors(의사) 테이블이 있습니다.idnamemajorhire_date1르탄이피부과2018-05-102배캠이성형외과2019-06-153구구이안과2020-07-2030.doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!    > SELECT name FROM doctors WHERE major = '성형외과';31.doctors 테이블에서 각.. 2025. 1. 16.
[SQL 기초 연습] 7. 랭크게임 하다가 싸워서 피드백 남겼어요 아래와 같은 lol_feedbacks (LOL 피드백 테이블)이 있습니다.iduser_namesatisfaction_scorefeedback_date1르탄이52023-03-012배캠이42023-03-023구구이32023-03-014이션이52023-03-035구구이42023-03-0425.lol_feedbacks 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!    > SELECT * FROM lol_feedbacks ORDER BY satisfaction_score DESC;26.lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!    > SELECT * FROM lol_feedbacks ORDER.. 2025. 1. 16.
[SQL 기초 연습] 6. 팀 프로젝트 열심히 했으니 다시 놀아볼까요?! - LOL 유저 테이블 SELECT employee_id, hire_date, salary, RANK() OVER (ORDER BY salary DESC) AS rankFROM employeesWHERE hire_date BETWEEN '2025-01-01' AND '2025-01-15';-- WHERE 절과 함께 사용하여 특정 기간 내의 순위도 반영 가능​ 아래와 같은 lol_users(LOL 유저 테이블)이 있습니다.idnameregionratingjoin_date1르탄이한국13002019-06-152배캠이미국15002020-09-013구구이한국14002021-01-074이션이미국13502019-11-1521.lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주.. 2025. 1. 15.
[SQL 기초 연습] 5. 공부하다보니 팀 프로젝트 시간이 왔어요! -- MySQLSELECT YEAR(NOW()) AS year, -- 연도 추출 MONTH(NOW()) AS month, -- 월 추출 DAY(NOW()) AS day, -- 일 추출 HOUR(NOW()) AS hour, -- 시간 추출 MINUTE(NOW()) AS minute, -- 분 추출 SECOND(NOW()) AS second -- 초 추출 SELECT EXTRACT(YEAR FROM NOW()) AS year;SELECT EXTRACT(MONTH FROM '2025-01-15') AS month;SELECT EXTRACT(DAY FROM '2025-01-15') AS day;-- PostgreSQL(EX.. 2025. 1. 15.