반응형

DB/PostgreSQL 25

26. [부록] 실습 및 코딩 테스트 모음

실습 쿼리 다음 링크는 그동안 실습해온 쿼리를 정리한 것입니다. 복습 및 개념 정리를 위해 활용하세요. - https://sehongpark.notion.site/SQL-315a2d73894a408984a0783cad52b1bf SQL 코딩 테스트 링크(HackerRank.com) 추가 연습문제를 더 풀어보고 싶으시다면, 다음 링크를 확인! - https://sehongpark.notion.site/B-2d53f4ea6fb94052a6aa6aca7971b72e 해당 링크는 SQL 문제를 큐레이션한 것으로, 해커랭크가 제공하는 코딩 테스트들 입니다. 해커랭크 회원가입 후, 문제를 풀면 됩니다.(실행 환경은 MySQL 추천)

DB/PostgreSQL 2022.12.28

25. 그룹화와 서브쿼리 실전 문제 4개

/* 테이블 생성 */ -- 학생 CREATE TABLE students ( id SERIAL PRIMARY KEY, -- PK nickname VARCHAR(30) -- 닉네임 ); -- 과목 CREATE TABLE courses ( id SERIAL PRIMARY KEY, -- PK title VARCHAR(60) -- 과목명 ); -- 등급 점수 CREATE TABLE grade_points ( grade VARCHAR(15) PRIMARY KEY, -- PK point DECIMAL(3, 2) -- 학점 ); -- 수강성적 CREATE TABLE grades ( id SERIAL PRIMARY KEY, -- PK student_id INTEGER REFERENCES students(id), -- ..

DB/PostgreSQL 2022.12.19

24. SubQuery | IN, ALL, ANY 필터링 실제예제

https://cloudstudying.kr/lectures/516 19 필터링과 서브쿼리(IN, ALL, ANY) | CloudStudying # 필터링과 서브쿼리(IN, ALL, ANY) ## 미션 --- 다음 카페 DB를 가지고, 서브쿼리 관련 필터링 문제를 푸시오. #### 카페 DB 구조도 ![홍팍-SQL-별다방-카페-매출-DB-스키마](http://drive.google.com/uc?export=view&i cloudstudying.kr 서브쿼리 IN 필터링 -- 판매량 상위 3개 음료를 다음과 같이 조회하려한다. -- 주어진 두 쿼리를 조합하여 이를 구하시오 SELECT ID AS "ID", name AS "음료명" FROM beverages WHERE ID IN ( -- 판매량 상위 3..

DB/PostgreSQL 2022.12.11

22. SubQuery | 실제 예제 | COALESCE() NUll일시 0값 넣는 함수

https://cloudstudying.kr/lectures/514 18 서브쿼리 개요 | CloudStudying # 서브쿼리 개요 ## 미션 --- 다음 카페 DB를 가지고, 서브쿼리 관련 문제를 푸시오. #### 카페 DB 구조도 ![홍팍-SQL-별다방-카페-매출-DB-스키마](http://drive.google.com/uc?export=view&id=1WXMyTBt6IhmRobRrP4cKlhWiMjM7 cloudstudying.kr Select 절에 서브쿼리 사용 예제 -- Select 절 서브쿼리 -- 음료의 이름 및 가격과 함께, 가장 비싼 음료와의 가격 차이를 조사하려 한다. -- 주어진 두 쿼리를 조합하여 이를 구하시오 (Select절 서브쿼리로) SELECT name AS "음료명", ..

DB/PostgreSQL 2022.12.10

21. SubQuery | Select, Form, Join, Where 절 등 다양한 위치에 사용

서브쿼리란? 쿼리속에 존재하는 또 다른 쿼리로써 먼저 수행된 쿼리의 결과를 가지고 다시 쿼리를 수행하는 문법이다. 예) 수학점수가 평균보다 높은 학생을 찾으려할때 이를 위해 먼저 수학점수의 평균을 계산하고 그 결과를 기준으로 학생정보를 필터링 할 수 있다. 이 때 먼저 수행되는 안쪽쿼리가 서브쿼리 그리고 그 결과를 이용하는 밖 쿼리가 메인쿼리 서브쿼리는 Select, Form, Join, Where 절 등 다양한 위치에 사용될 수 있다. 각자 위치에 따라 형태의 제약이 있음을 주의해야 한다. -- SELECT -- 1행 1열의 단일값만을 사용가능 (1X1) SELECT (subquery) FROM ..; -- IN FROM -- 행과 열의 크기는 상관이 없지만 반드시 별칭을 붙여줘야함 SELECT .....

DB/PostgreSQL 2022.12.10

19. HAVING, ORDER BY, LIMIT절 개요 (그룹 필터링) | NUll 값을 비교할때는 IS NULL, IS NOT NULL

HAVING - 분류된 그룹들 중 "특정" 그룹만 가져오는 것 - WHERE 절은 일반 레코드를 필터링 - HAVING 절은 반드시 그룹화된 레코드만 필터링 -- 결제 테이블에서 수단별 평균 결제 금액이 다음과 같을때, 평균 결제금액이 36,000원 이상인 것만 조회 SELECT ptype, ROUND(AVG(amount)) AS "평균결제금액" FROM payments GROUP BY ptype HAVING ROUND(AVG(amount)) >= 36000; -- 상품명과 가격을 기준으로 누적 매출이 35,000원 이상인 상품을 조회하시오 SELECT name AS 상품명, price AS 가격, SUM(order_details.count) AS 누적판매량, SUM(products.price * ord..

DB/PostgreSQL 2022.11.07

18. GROYP BY | GROUP BY 와 COUNT | JOIN 후 GROUP BY

그룹별 데이터 집계를 위한 GROYP BY - GROYP BY 란 데이터를 특징별로 분류하여, 이를 기준으로 분석하는 기법이다. 단 몇 줄의 쿼리로, 수 많은 데이터를 분류 및 집계할 수 있다. - 그룹화 한 다음엔 일반 컬럼은 SELECT 할 수 없다. GROUP BY 절에 명시된 컬럼만 SELECT 된다 - 예) 테이블 컬럼 속 row 데이터의 해당 데이터 별로 분류해서 이를 기준으로 집계할수 있다. 예) status의 SUCC 상태와 ERRO 상태별 갯수가 궁금할때 사용 (성공 상태 인건 몇개고 에러 상태인건 몇개 일까?) GROUP BY 와 COUNT -- 결제 테이블을 결제 방법에 따라 분류하고, 각각의 결제횟수를 조회하시오 SELECT ptype, COUNT(ptype) FROM payment..

DB/PostgreSQL 2022.11.07

16. OUTER JOIN( RIGHT JOIN 과 FULL JOIN )

RIGHT JOIN - 연관 데이터를 조인해서 가져오는데 조인할수 없을때 오른쪽을 살리면 RIGHT JOIN이 된다 FULL JOIN - 조인 가능한 데이터 뿐만 아니라 조인 불가능한것 까지도 좌,우측 상관없이 모두 가져온다. 테이블 생성 CREATE /* 테이블 생성 */ -- 사용자 CREATE TABLE users( id SERIAL PRIMARY KEY, -- PK email VARCHAR(60) UNIQUE, -- 이메일 nickname VARCHAR(30) -- 닉네임 ); -- 주문 CREATE TABLE orders( id SERIAL PRIMARY KEY, -- PK status VARCHAR(15), -- 주문 상태 created_at TIMESTAMPTZ, -- 주문시각 user_id..

DB/PostgreSQL 2022.10.31
반응형