SQL

문제 출저https://leetcode.com/problems/managers-with-at-least-5-direct-reports/description/?envType=study-plan-v2&envId=top-sql-50    문제 풀이5명 이상의 직속 부하가 있는 직원의 이름을 출력해야 합니다. Employee 테이블을 id와 managerId로 조인합니다.manager.id를 그룹화하고 having으로 5개 이상을 선택합니다.    SQL-- # 5명 이상의 직속 부하가 있는 직원의 이름을 출력한다. 이름이 중복될 수 있다. select manager.name from Employee as managerjoin Employee as employee on manager.id =..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/299310 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이분화된 연도, 분화된 연도별 대장균 크기 편차, 대장균 개체의 ID룰 출력해야 합니다. 분화된 연도별 대장균 크기의 편차는 분화된 연도별 가장 큰 대장균의 크기 - 각 대장균의 크기 입니다.  서브쿼리를 통해 연도별로 가장 큰 대장균의 크기를 구합니다.이 서브쿼리와 테이블을 조인하여 연도별 대장균 크기의 편차를 구합니다.    SQLSELECT A.YEAR AS YEAR,..
문제 출저https://leetcode.com/problems/students-and-examinations/description/?envType=study-plan-v2&envId=top-sql-50   문제 풀이각 학생이 시험을 몇 번 참석했는지 구해야 합니다.  cross join으로 Students와 Subject를 연결시켜 각 학생이 시험을 참여한 모든 경우의 수를 구합니다.left join으로 Examinations와 연결합니다.group by로 student_id, subject_name 그룹화하여 count를 통해 갯수를 셉니다.order by로 student_id, subject_name 순서로 정렬시킵니다.   SQL-- select * -- from Students -- cross j..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/298515 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이잡은 물고기 중 가장 큰 물고기의 길이를 cm를 붙여 출력합니다. MAX()를 통해 가장 큰 물고기의 길이를 구합니다.CONCAT()을 사용하여 cm을 붙여 출력합니다.  SQLSELECT CONCAT(MAX(LENGTH), 'cm') AS MAX_LENGTHFROM FISH_INFO
문제 출저https://leetcode.com/problems/employee-bonus/?envType=study-plan-v2&envId=top-sql-50   문제 풀이보너스가 1000 미만인 직원의 name, bonus를 출력해야 합니다. Employee 테이블에서 name을 Bonus 테이블에서 bonus를 가져와야 하므로 JOIN을 사용합니다.where 절을 사용하여 보너스가 1000 미만인 직원을 찾습니다. 이 때, null 또한 1000 미만이므로 포함시킵니다.   SQL# 보너스가 1000보다 적은 사람 # 보너스가 NULL인 사람이 있으니 NULL을 포함시킵니다. select e.name, b.bonusfrom Employee as e left join Bonus ..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/293261 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력해야 합니다. FISH_INFO 테이블에는 ID, FISH_TYPE, LENGTH, TIME이 있고 FISH_NAME_INFO 테이블에는 FISH_TYPE, FISH_NAME이 있습니다.  물고기 ID, 길이는 FISH_INFO에서 물고기 이름은 FISH_NAME_INFO에서 가져오고 JOIN을 통해 가져와야 ..
문제 출저https://leetcode.com/problems/average-time-of-process-per-machine/?envType=study-plan-v2&envId=top-sql-50   문제 풀이각 기계가 프로세스를 완료하는데 걸리는 평균 시간을 구해야 합니다. 완료하는데 걸리는 시간은 종료 시간에서 시작 시간을 뺀 값 입니다. (완료 시간 = 종료 시간 - 시작 시간)평균 시간은 소수점 이하 3자리로 표현합니다. s, ,e 테이블 2개를 조인합니다. machine_id, process_id 동일하게 조인합니다. s 테이블은 시작 시각을 나타내고 e 테이블은 종료 시간을 나타냅니다.avg(e.timestamp - s.timestamp)를 통해 평균을 구합니다. round를 통해 소수점 이..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/273709 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이ITEM_INFO 테이블에서 희귀도가 LEGEND 인 아이템들의 가격의 총합을 구하는 SQL 문을 작성 해야 한다. WHERE 절로 LEGEND 인 데이터를 선택한다.SUM 을 통해 총합을 구한다.    SQLSELECT SUM(PRICE) AS TOTAL_PRICE FROM ITEM_INFOWHERE RARITY = 'LEGEND'
문제 출저https://leetcode.com/problems/rising-temperature/?envType=study-plan-v2&envId=top-sql-50    문제 풀이어제랑 비교해서 온도가 더 높은 id를 출력하는 문제입니다. 한 테이블에서 오늘과 어제를 비교해야 하므로 내부 조인을 수행합니다. 저는 오늘 날짜 today, 어제 날짜는 yesterday 라는 이름으로 테이블을 설정했습니다. 조인 조걸은 날짜 차이를 1로 설정하여 오늘과 어제를 비교합니다.where 절을 통해 today의 recordDate가 yesterday의 recordDate 보다 크다는 조건을 넣어 today가 항상 앞서도록 했습니다.    SQL# 어제랑 비교해서 온도가 더 높은 id룰 출력해야 합니다. selec..
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/59408 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이동물 보호소에 들어온 동물의 이름이 몇 개인지 조회한다. 동물의 이름은 중복이 있을 수 있기 때문에 DISTINCT로 중복을 제거한다.이름이 NULL인 경우가 있으므로 WHERE 절에 NOT NULL을 사용한다.    SQLSELECT COUNT(DISTINCT NAME) FROM ANIMAL_INSWHERE NAME IS NOT NULL
문제 출저https://school.programmers.co.kr/learn/courses/30/lessons/59406 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   문제 풀이동물 보호소에 둘물이 몇 마리 들어왔는지 조회합니다.COUNT 함수를 사용하여 갯수를 구합니다.   SQLSELECT COUNT(*) AS COUNTFROM ANIMAL_INS
문제 출저https://leetcode.com/problems/customer-who-visited-but-did-not-make-any-transactions/?envType=study-plan-v2&envId=top-sql-50    문제 풀이거래 없이 방문한 사용자의 아이디와 방문 횟수를 구해야 합니다.Transactions 테이블에 방문 아이디를 가져옵니다. Visits 테이블에서 가져온 아이디에 일치하는게 없으면 거래 없이 방문한 것 입니다.  whrere에 not in 을 사용합니다. customer_id 별로 횟수를 구해야 하므로 group by를 사용합니다.    SQL# 거래 없이 방문한 사용자의 아이디와 방문 횟수를 구해야 한다. select customer_id, count..
너지살
'SQL' 카테고리의 글 목록 (2 Page)