[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절은 메인쿼리의 마지막 ..
[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의 값은 두 종..
[SQL 2-5강 (1)] INTERSECT, EXCEPT
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 38. 집합 연산자와 서브커리 - 03. INTERSECT 연산 39. 집합 연산자와 서브커리 - 04. EXCEPT 연산 [강의내용] 38. 집합 연산자와 서브커리 - 03. INTERSECT 연산 INTERSECT 연산자는 2개 이상의 SELECT 문들의 결과 집합을 하나의 결과 집합으로 결합한다. 교집합을 만들어준다. INNER JOIN과 똑같기 때문에 실무에서 굳이 쓰지 않는다. 약간의 차이점은 UNION 류와 마찬가지로 2개의 SELECT문 간 컬럼의 갯수가 동일해야 하고, 데이터 타입이 동일해야 한다. 또한 NATURAL JOIN과 비슷하게 ON 뒤에 조건을 적어주지 않아도 INNER JOIN의 효과를 낼 수있다..
[SQL 2-4강 (2)] UNION, UNION ALL
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 36. 집합 연산자와 서브커리 - 01. Union연산 37. 집합 연산자와 서브커리 - 02. UnionAll연산 [강의내용] 36. 집합 연산자와 서브커리 - 01. Union연산 [UNION이란?] 2개 이상의 SELECT문들의 결과 집합을 단일 결과 집합으로 결합하며 결합시 중복된 데이터는 제거된다. JOIN이 수평으로 테이블을 연결하는 것이라면, UNION은 수직으로 연결하는 것이다. 그리고 JOIN은 기준 컬럼 1개가 필요하지만, UNION은 컬럼의 갯수, 데이터 타입이 동일해야 한다. [문법] SELECT COLUMN_1_1, COLUMN_1_2 FROM TABLE_NAME_1 UNION SELECT COLUM..
[SQL 2-4강 (1)] GROUP BY, HAVING, JOIN, CASE, ROUND
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 생각대로 SQL - 4 [강의내용] 문제2번) 영화등급(rating) 별로 몇개의 film을 가지고 있는지 확인해주세요. SELECT rating, count(film_id) AS count FROM film GROUP BY rating; 문제4번) 영화 배우(actor)들이 출연한 영화는 각각 몇 편인가요? - 영화 배우의 이름 , 성 과 함께 출연 영화 수를 알려주세요. actor 테이블에서 배우들의 이름, 성을 가져와야 하고, film_actor 테이블에서 actor_id 별 film_id를 count하면 될 것 같다. GROUP BY를 써야 하는데 actor 테이블에서 이름, 성을 가져와야 하므로 서브쿼리를 이용해 ..
[SQL 2-3강] GROUP BY, HAVING
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 24. 조인과 집계 데이터 - 08. Group By절 25. 조인과 집계 데이터 - 09. Having절 [강의내용] 24. 조인과 집계 데이터 - 08. Group By절 GROUP BY절은 SELELCT문에서 반환된 행을 그룹으로 나눈다. 각 그룹에 대한 합계, 평균, 카운트 등과 같은 집계함수 계산을 할 수 있다. SUM과 같은 집계(Aggregation)함수를 사용할때는 반드시 GROUP BY를 사용해야 한다. [문법] SELECT COLUMN_1, 집계함수(COLUMN_2) FROM TABLE_NAME GROUP BY COLUMN_1; GROUP BY 절은 FROM 또는 WHERE절 바로 뒤에 나타나야 함 [실습..
[SQL 2-2강 (2)] JOIN, LEFT, CASE
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 생각대로 SQL - 3 [강의내용] 생각대로 SQL - 3 문제10번) country가 china가 아닌 지역에 사는, 고객의 이름(first_name, last_name)과 , email, phonenumber, country, city 를 알려주세요 country 테이블을 추가로 조인하여 where절에서 not china를 설정해야 한다. SELECT c.first_name, c.last_name, c.email, a.phone, co.country, ct.city FROM customer c JOIN address a ON c.address_id = a.address_id JOIN city ct ON a.city_id..