본문 바로가기
반응형

전체 글160

[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.
[postgreSQL] FULL OUTER JOIN --5)FULL OUTER 조인 --INNER + LEFT OUTER + RIGHT OUTER 조인 집합을 모두 출력하는 조인방식 --두 테이블간 출력가능한 모든 데이터를 포함한 집합을 출력 SELECT A.ID AS ID_A, A.FRUIT AS FRUIT_A, B.ID AS ID_B, B.FRUIT AS FRUIT_B FROM BASKET_A A FULL OUTER JOIN BASKET_B B ON A.FRUIT = B.FRUIT; --ONLY OUTER 조인 SELECT A.ID AS ID_A, A.FRUIT AS FRUIT_A, B.ID AS ID_B, B.FRUIT AS FRUIT_B FROM BASKET_A A FULL OUTER JOIN BASKET_B B ON A.FRUIT = B.FRUI.. 2021. 9. 14.
[postgreSQL] SELF JOIN --4)SELF조인 --같은 테이블 끼리 특정 컬럼을 기준으로 매칭되는 컬럼을 출력하는 조인 --즉 같은 테이블의 데이터를 각각의 집합으로 분류한 후 조인 --동일한 테이블이지만 각각의 다른 집합으로 구성해놓고그 안에서 원하는 정보 추출 SELECT E.FIRST_NAME || '' || E.LAST_NAME AS EMPLOYEE, M.FIRST_NAME || '' || M.LAST_NAME AS MANAGER FROM EMPLOYEE E INNER JOIN EMPLOYEE M ON M.EMPLOYEE_ID = E.MANAGER_ID ORDER BY MANAGER; --결과:각 직원의 상위 관리자를 출력함 -- 최고 관리자인 windy hays는 결과 집합에 포함되지 않음 --SELF LEFT OUTER.. 2021. 9. 14.
반응형