본문 바로가기
반응형

DataBase62

[postgreSQL] 서브 쿼리 종류 --5)서브 쿼리 --SQL문 내에서 메인쿼리가 아닌 하위에 존재하는 쿼리를 만한다. --서브쿼리를 활용함으로써 다양한 결과를 도출 할 수있다. --RENTAL_RATE의 평균구하기 SELECT AVG(RENTAL_RATE) FROM FILM; --RENTAL_RATE의 평균 보다 큰 RENTAL_RATE집합 구하기 SELECT FILM_ID, TITLE, RENTAL_RATE FROM FILM F WHERE RENTAL_RATE > 2.98; --위 2개의 SQL을 결합하여 하나의 SQL문으로 결과를 도출할수 없을까? --있다! 중첩 서브쿼리,인라인 뷰, 스칼라 서브쿼리가 존재한다. --(1)중첩 서브쿼리 -> WHERE 절에 존재 SELECT FILM_ID, TITLE, RENTAL_RATE FROM.. 2021. 9. 14.
[postgreSQL] INTERSECT, EXCEPT --3)INTERSECT 연산자 --두 개 이상의 SELECT문들의 결과 집합을 하나의 결과 집합으로 결합한다. --즉 테이블1과 테이블2의 교집합을 리턴 SELECT COLUMN_1_1, COLUMN_1_2 --두 개의 SELECT문 간 컬럼의 개수는 동일해야하고 --해당 순서의 열에는 서로 호환되는 데이터 유형이어야한다. FROM TABLE_NAME_1 INTERSECT SELECT COLUMN_2_1, COLUMN_2_2 FROM TABLE_NAME_2; select EMPLOYEE_ID from keys k intersect select employee_id from HIPOS; --실무에서 많이쓰이지 않음 --왜냐면 INNER JOIN과 결과가 동일하기 때문 select A.EMPLOYEE_ID.. 2021. 9. 14.
[postgreSQL][집합연산자] UNION, UNION ALL --1)UNION 연산자 --두 개 이상의 SELECT문들의 결과 집합을 단일 결과 집합으로 결합하며 결합 시 중복된 데이터는 제거된다. SELECT COLUMN_1_1, COLUMN_1_2 --두 개의 SELECT문 간 칼럼의 개수는 동일해야 하고, --해당 순서의 열에는 서로 호환되는 데이터 유형이어야 한다. FROM TABLE_NAME_1 UNION SELECT COLUMN_2_1, COLUMN_2_2 FROM TABLE_NAME_2; --두개의 SELECT 문에서 중복되는 데이터 값이 있다면 중복은 제거 된다. --ORDER BY로 정렬하고자 할 경우 맨 마지막 SELECT문에 ORDER BY절을 사용한다. select * from sales2007_1 union select * from sale.. 2021. 9. 14.
[postgreSQL] GROUP BY, HAVING 절 GROUP BY절 : SELECT문에서 반환된 행을 그룹으로 나눈다. 각 그룹에 대한 합계, 평균, 카운트 등을 계산할 수 있다. 문법 SELECT COLUMN_1, 집계함수(COLUMN_2) --> GROUP BY 컬럼 기재, 집계함수 사용 FROM TABLE_NAME GROUP BY COLUMN_1; --> GROUP BY절 기재, N개의 컬럼을 GROUP BY하는 경우 ',' 구분해야 하며 GROUP BY절은 FROM 또는 WHERE절 바로 뒤에 나타나야함 예 select CUSTOMER_ID--group by 컬럼인 CUSTOMER_ID를 출력 from payment p --PAYMENT체이블을 조회 group by CUSTOMER_ID;--CUSTOMER_ID기준으로 group BY한다. -->.. 2021. 9. 14.
[postgreSQL] NATURAL JOIN --7)NATURAL조인 --두개의 테이블에서 같은 이름을 가진 컬럼 간의 INNER 조인 집합 결과를 출력한다. --SQL문 자체가 간소해지는 방법 --실무에서 잘 쓰이지 않음 --INNER조인을 더 깊게 이해할 수 있음 select * from PRODUCTS a --PRODUCTS 테이블과 natural join CATEGORIES B;--CATEGORIES테이블간 NATURAL조인한다. --이럴경우 동일하게 가지고 있는 CATEGORY_ID컬럼을 기준으로 INNER조인한다. --NATURAL조인은 INNER조인의 또 다른 SQL방식이다. --즉 조인컬럼을 명시하지않아도 된다. --자동으로 된다는 소리는 안정성이 적어진다는 소리이다. --동일 select A.CATEGORY_ID, A.PRODUCT.. 2021. 9. 14.
[postgreSQL] CROSS JOIN --6)CROSS조인 --두 개의 테이블의 CARTESIAN PRODUCT 연산의 결과를 출력한다. --데이터 복제에 많이 쓰이는 기법 select * from CROSS_T1 cross JOIN CROSS_T2 order by LABEL; select * from CROSS_T1, cross_t2 order by label; --INNER조인을 표현하는 다른 방법 --위 2개의 SQL문은 결과 집합이 동일하다 -> 같은 SQL --SQL문의 목적이 집합을 출력하는 것이다. 정보가 같다면 SQL문 자체는 다르더라도 동일하다고 한다. --CROSS조인은 보통 어떻게 쓰일까? select label, case when label = 'A' then SUM(SCORE) when label = 'B' then .. 2021. 9. 14.
반응형