커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
걷기반 퀘스트
엑셀보다 쉽고 빠른 SQL
기타
북마크
백*린
댓글
1
추천
0
조회수
26
조회수
26
답변 완료


1.SQL 걷기반 퀘스트 42번 문제

https://nbc-spring-6g-precamp.oopy.io/17a2dc3e-f514-81a7-89ab-ef2a4e51d58d

[작성한 쿼리]
SELECT d.name 
FROM employees e left join departments d on e.department_id=d.id
WHERE e.name=null


[정답쿼리]
SELECT d.name 
FROM departments d LEFT JOIN employees e ON d.id = e.department_id 
WHERE e.id IS NULL;


  • where 절 뒤에 저는 e.name is null 이라고 작성했고, 정답쿼리는 e.id is null 입니다..! 부서,직원 테이블을 합쳤을때 특정 부서에 직원이 없다면 employees 테이블은 전부 공란일 테니까 같은 의미 맞나요?
  • 그리고 from 문 뒤 left join 사용시에 두 테이블의 위치가 중요한가요? ( departments 테이블이 먼저 나와야하나요?)




2.SQL 걷기반 퀘스트 46번 문제

https://nbc-spring-6g-precamp.oopy.io/17a2dc3e-f514-817c-8908-e508f900aaad

[작성한 쿼리]
select p.name, sum(o.quantity) as cum_quantity
from products p inner join orders o on p.id=o.product_id
group by p.name
)a
order by cum_quantity desc limit 1


[정답쿼리]
SELECT p.name, SUM(o.quantity) AS total_quantity 
FROM products p INNER JOIN orders o ON p.id = o.product_id 
GROUP BY p.id 
ORDER BY total_quantity DESC LIMIT 1


  • group by 뒤에 올 컬럼은 select 뒤에 있는 컬럼중에서 사용할 수 있다고 알고 있었는데, 정답 쿼리처럼 p.id로 그룹화 하고 select에서는 p.name을 선택해도 결과는 동일한가요?ㅠㅠ
취소
 공유
취소
댓글 0
댓글 알림
나의얼굴