10) 이젠 테이블이 2개입니다.

2024. 9. 4. 18:32·내일배움캠프/사전캠프 강의 (SQL)

id
department_id
name
1
101
르탄이
2
102
배캠이
3
103
구구이
4
101
이션이

위의 테이블은 employees이다

 

id
name
101
인사팀
102
마케팅팀
103
기술팀

위의 테이블은 departments이다

 

 

38. 현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!

SELECT COUNT(*) FROM departments;

 

 

39. 모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!

//테이블 이 2개 인 상태에서는 JOIN함수를 사용해야 한다 
//이경우에는 겹치는 데이터가 있기 떄문에, JOIN ON 을 사용 할 수 있다.

SELECT e.name AS employees_name, d.name AS department_name FROM employees e
JOIN departments d ON e.department_id = d.id;
//별칭을 사용하여 employees.name을 e.name으로 줄엿다.

 

 

40. '기술팀' 부서에 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!

SELECT e.name AS employees_name FROM employees e JOIN departments d ON e.department_id = d.id
WHERE d.name = '기술팀';

 

 

41. 부서별로 직원 수를 계산하는 쿼리를 작성해주세요!

SELECT d.name AS department_name, COUNT(e.name) AS employees_num
FROM departments d JOIN employees e ON e.department_id = d.id;

//만약 departments.name 에 있는 팀 이름이 전부 유니트 하다면 그룹화를 하지 않아도 된다.
//그룹화를 만약 하게 된다면

SELECT d.name AS department_name, COUNT(e.name) AS employees_num
FROM departments d JOIN employees e ON e.department_id = d.id GROUP BY d.name;

 

 

42. 직원이 없는 부서의 이름을 찾는 쿼리를 작성해주세요!

SELECT d.name AS department_name FROM departments d LEFT JOIN employees e
ON d.id = e.department_id WHRER e.department_id IS NULL;

*/LEFT JOIN은 아래에 설명. department테이블에 employees 테이블을 비교하여 e.department_id에
없는 id를 찾아서 NULL을 만들면 그것을 반환.*

 

- INNER JOIN(JOIN) - 두 테이블에서 일치 하는 데이터만 반환

-LEFT JOIN - 우측의 모든 데이터 테이블과 좌측 데이터 테이블 에도 있는 데이터 반환

-RIGHT JOIN - 좌측의 모든 데이터 테이블과 우측 데이터 테이블 에도 있는 데이터 반환

-FULL JOIN - 두 테이블에서의 모든 데이터 반환

 

 

43. '마케팅팀' 부서에만 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!

SELECT d.name AS department name, e.name AS employees_name 
FROM departments d JOIN employees e ON d.id = e.department_id
WHERE d.name = '마케팅팀';

 

'내일배움캠프 > 사전캠프 강의 (SQL)' 카테고리의 다른 글

생각해봅시다 (MISSION 1)  (0) 2024.09.05
마지막 연습 문제!  (1) 2024.09.05
9) 아프면 안됩니다! 항상 건강 챙기세요!  (1) 2024.09.04
8) LOL을 하다가 홧병이 나서 병원을 찾아왔습니다.  (0) 2024.09.04
7) 랭크게임 하다가 싸워서 피드백 남겼어요..  (2) 2024.09.04
'내일배움캠프/사전캠프 강의 (SQL)' 카테고리의 다른 글
  • 생각해봅시다 (MISSION 1)
  • 마지막 연습 문제!
  • 9) 아프면 안됩니다! 항상 건강 챙기세요!
  • 8) LOL을 하다가 홧병이 나서 병원을 찾아왔습니다.
코드 유랑자 승열
코드 유랑자 승열
코드 유랑자 승열의 프로그래밍 일지를 남기는 공간입니다.
  • 코드 유랑자 승열
    승열의 프로그래밍 시네마
    코드 유랑자 승열
  • 전체
    오늘
    어제
  • 링크

    • 깃허브 보러가기
    • 링크드인 보러가기
    • 인스타그램 보러가기
    • 카테고리 N
      • 코딩테스트 N
        • BaekJoon N
      • TIL and WIL
        • TIL
        • WIL
      • 주말스터디
      • 내일배움캠프
        • 사전캠프 강의 (SQL)
      • 용어정리
        • Python
        • Python-Library
        • Machine-Learning
        • Deep-Learning
        • AI 활용
        • LLM & RAG
        • Docker
        • Django
        • SQL
        • Java Script
        • etc
      • Daily 코드카타
        • SQL
        • Python 알고리즘
      • 임시저장
      • 보류
  • 태그

    langchain
    vector db
    RAG
    View
    티스토리챌린지
    django
    word2vec
    template
    오블완
    llm
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코드 유랑자 승열
10) 이젠 테이블이 2개입니다.
상단으로

티스토리툴바