[SQL 3-3강 (1)] GROUP BY, GROUPING SET, ROLLUP, CUBE
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 생각대로 SQL - 7 [강의내용] 생각대로 SQL - 7 문제3번) 국가(country)별 도시(city)별 매출액, 국가(country)매출액 소계 그리고 전체 매출액을 구하세요. (grouping set) 먼저 SELECT절에 어떤 컬럼을 써야할지 생각하면 문제를 풀기 쉽다. 첫번째로 와야하는 컬럼은 country, 두번째는 city, 세번째는 sum(amount)가 될 것같다. SELECT country, city, sum(amount) FROM payment p JOIN customer c ON p.customer_id = c.customer_id JOIN address a ON c.address_id = a.ad..
[SQL 3-2강 (2)] GROUP BY, GROUPING SET, ROLLUP, CUBE
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 26. 조인과 집계 데이터 - 10. Grouping Set절 27. 조인과 집계 데이터 - 11. Roll up절 28. 조인과 집계 데이터 - 12. Cube절 [강의내용] 26. 조인과 집계 데이터 - 10. Grouping Set절 GROUPING SET 절을 사용하여 여러 개의 UNION ALL을 이용한 SQL과 같은 결과를 만들 수 있다. 먼저 그룹함수 실습을 위한 샘플데이터를 준비한다. [샘플데이터 확인] [실습1] 먼저 brand별, segment별 GROUP BY를 걸어본다. SELECT BRAND, SEGMENT, SUM(QUANTITY) FROM SALES GROUP BY BRAND, SEGMENT; +..
[SQL 3-2강 (1)] 서브쿼리, EXISTS, ANY, SELECT 1, NOT IN
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 생각대로 SQL - 6 [강의내용] 문제1번) 매출을 가장 많이 올린 dvd 고객 이름은? (subquery 활용) customer_id별 sum(amount)를 구하고 이를 customer 테이블과 연결해 이름을 구해주면 된다. [내 답안 (인라인 뷰)] SELECT c.customer_id, c.first_name, c.last_name FROM customer c, ( SELECT customer_id, sum(amount) FROM payment p GROUP BY customer_id ORDER BY sum DESC LIMIT 1) AS t1 WHERE t1.customer_id = c.customer_id; 이 ..
[SQL 3-1강 (2)] 서브쿼리, OVER, EXISTS, SELECT 1
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 44. 집합 연산자와 서브쿼리 - 09. 실습문제 - 1 45. 집합 연산자와 서브쿼리 - 10. 실습문제 - 2 [강의내용] 44. 집합 연산자와 서브쿼리 - 09. 실습문제 - 1 아래의 SQL문은 film 테이블을 2번이나 스캔하고 있다. film 테이블을 한번만 스캔하여 동일한 결과 집합을 구하는 SQL을 작성하라 SELECT FILM_ID, TITLE, RENTAL_RATE FROM FILM WHERE RENTAL_RATE > ( SELECT AVG (RENTAL_RATE) FROM FILM ); [풀이] AVG값을 SELECT절에서 바로 출력되도록 해야한다. OVER()를 사용하면 된다. OVER()를 사용하면 ..
[SQL 3-1강 (1)] 서브쿼리, ANY, ALL, EXISTS, SELECT 1
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 40. 집합 연산자와 서브쿼리 - 05. 서브쿼리란 41. 집합 연산자와 서브쿼리 - 06. ANY연산자 42. 집합 연산자와 서브쿼리 - 07. ALL연산자 43. 집합 연산자와 서브쿼리 - 08. EXISTS연산자 [강의내용] 40. 집합 연산자와 서브쿼리 - 05. 서브쿼리란 서브쿼리는 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문을 말한다. [특징] 서브쿼리를 괄호로 감싸서 사용한다 서브쿼리는 메인쿼리의 컬럼을 자유롭게 사용할 수 있다 (메인쿼리는 불가) 서브쿼리에서는 ORDER BY를 사용하지 못한다. ORDER BY절은 SELECT에서 오직 1개만 올 수 있기 때문에 ORDER BY절은 메인쿼리의 마지막 ..
[SQLD] 데이터 모델링의 이해 (2)
·
✏️ Study/📀 데이터베이스
[목차] [내용] 4절 관계 1. 관계의 정의 1) 사전적인 정의 : 상호연관성이 있는 상태 2. 관계의 페어링 1) 관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(페어링)이고 이것의 집합을 관계로 표현한다는 것 2) 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 2개 이상의 관계가 형성될 수 있다 3) 인스턴스와 인스턴스 사이에 관계가 설정되어 있는 어커런스를 관계 페어링이라고 한다. * 엔터티가 인스턴스의 집합을 논리적으로 표현하였다면 관계는 관계 페어링의 집합을 논리적으로 표현한 것 3. 관계의 분류 1) 존재에 의한 관계 - 사원은 부서에 항상 속해있다. - 존재의 형태에 의해 관계가 형성된다 2) 행위에 의한 관계 - 주문은 고객이 주문을 할 때 발생한다 ..
[SQLD] 데이터 모델링의 이해 (1)
·
✏️ Study/📀 데이터베이스
[목차] 1과목 데이터 모델링의 이해는 2개의 장과 각각의 절로 이루어져 있다. 1장은 1~3절 (1), 4~5절 (2)로 분할했다. 1장 데이터 모델링의 이해 1절 데이터모델의 이해 2절 엔터티 3절 속성 [내용] 1절 데이터모델의 이해 1. 모델링의 특징 1) 추상화 2) 단순화 3) 명확화 * 모델링의 정의 : 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법 2. 모델링의 3가지 관점 1) 데이터 관점(What, Data) : 데이터 중심 모델링 2) 프로세스 관점(How, Process) : 업무 중심. 업무가 실제 하고 있는 일은 무엇인지, 무엇을 해야 하는지를 모델링 3) 상관 관점(Data vs Process) : 업무 처리에 따라 데이터는 어떻게 영향을 받고..
[SQL 2-5강 (2)] UNION, UNION ALL, INTERSECT, EXCEPT
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 생각대로 SQL - 5 [강의내용] 생각대로 SQL - 5 문제1번) 영화배우가, 영화 180분 이상의 길이의 영화에 출연하거나, 영화의 rating이 R인 등급에 해당하는 영화에 출연한 영화 배우에 대해서, 영화배우 ID와 (180분이상 / R등급영화)에 대한 Flag 컬럼을 알려주세요. - 1) film_actor 테이블와 film 테이블을 이용하세요. - 2) union, unionall, intersect, except 중 상황에 맞게 사용해주세요. - 3) actor_id가 동일한 flag 값이 여러개 나오지 않도록 해주세요. 구해야 할 컬럼이 딱 2개이다(actor_id, flag) 다만, flag의 값은 두 종..