가상 테이블 개념이 적용됨 (Inline view)
from 절 뒤에 테이블 대신에 sub query를 사용함
sub query의 select한 행렬 결과를 메모리에 적재시켜서 사용
행렬의 데이터를 테이블과 동일한 개념으로 사용하기 때문에 가상 테이블이라고 한다.
가상 테이블은 별칭을 이용해서 테이블 이름처럼 사용한다.
테이블에 별칭을 붙일때는 대문자 , 컬럼에 별칭을 붙일때는 소문자를 쓴다.
SELECT MAX(total) AS 'max', MIN(total) AS 'min'
FROM (SELECT mem_id, mem_name, sum(prod_sale*cart_qty) AS 'total'
FROM member
INNER JOIN cart
ON mem_id = cart_member
INNER JOIN prod
ON prod_id = cart_prod
GROUP BY mem_id, mem_name) AS A ;
SELECT prod_lgu, COUNT(prod_id) AS prod_count
FROM prod
GROUP BY prod_lgu HAVING COUNT(prod_id)>=15
-- 카운트를 할때 pk를 카운터해줍시다.
join 구문 작성하는 방법
inner join 방식은 : 일반방식 or 표준방식 모두 표준처럼 사용된다.
inner join 일반방식
select 테이블1. 칼럼1
from 테이블1, 테이블2, 테이블n
where 관계 조건 (pk = fk)
and 일반조건
where 조건 관계조건 pk = fk
and 일반조건
inner Join 표준방식
select 테이블1.컬럼1
from 테이블1 inner jooin 테이블2
on ( 관계조건 (pk = fk)
and 일반조건)
inner join 테이블 n
on (관계 조건 (pk = fk) and 일반조건)
group by 그룹이 있는경우
having 그룹조건이 있는 경우
order by 정렬이 있는 경우
-- 크로스 조인
-- 아래 같이 두 테이블 간에 관계 조건 없이 사용한 경우
-- 행의 갯수 = 테이블 행 전체갯수 * 테이블 행 전체 갯수
(데이터가 많을 경우 컴퓨터가 다운 될 수 있으니 웬만하면 하지 않는다.)
inner join 두 테이블 간에 pk-fk 인 조건을 제시 한 방식
일반방식
from 절에 콤마, 로 구분하여 사용
where 절에 관계조건 식 pk=fk을 추가함
관계조건식은 최소한 (사용된 테이블의 갯수 -1)만큼 제시되어야 함
-- 국제 표준 방식 ansi 표준이라한다.
-- 일반방식
select *
from member, cart,prod
where mem_id = cart_member
and cart_prod = prod_id
and mem_add1 like '서울%';
-- 국제 표준 방식 ansi 표준
select mem_id, mem_name, cart_prod, cart_qty, prod_name
from member
inner join cart
on(mem_id = cart_member)
and mem_add1 like '서울%'
inner join prod
on(cart_prod = prod_id);
-- 국제 표준 방식 ansi 표준
select mem_id, mem_name, cart_prod, cart_qty, prod_name
from member
inner join cart
on(mem_id = cart_member)
inner join prod
on(cart_prod = prod_id)
-- 일반조건을 추가. where절에 추가 해도 되고 join 에 적어도 된다.
where mem_add1 like '서울%';
'DATABASE' 카테고리의 다른 글
| rollup 합계, sql function, view, procedure (4) | 2023.11.27 |
|---|---|
| outer join, self join, natural join,union, exists (3) | 2023.11.24 |
| 오늘의 DATABASE 문제 (3) | 2023.11.23 |
| database mysql 함수(), group by, having 절 (1) | 2023.11.22 |
| mariaDB SQL 문법 연습 (2) | 2023.11.21 |