728x90
728x90
728x90
728x90

'개념정리' 카테고리의 다른 글

패키지 시작이름 (import)  (0) 2021.08.05
binary 파일  (0) 2021.07.28
DOM (Document Object Model)  (0) 2021.04.29
html 라이프사이클  (0) 2021.04.28
이클립스  (0) 2021.04.13
728x90
728x90

'일기?' 카테고리의 다른 글

import 관련  (0) 2021.08.05
json값에서 데이터 추출해서 배열로 만들기  (0) 2021.08.02
서버간 파일전송  (0) 2021.07.26
DB테이블을 파악할때  (0) 2021.04.27
728x90
728x90

'일기?' 카테고리의 다른 글

import 관련  (0) 2021.08.05
json값에서 데이터 추출해서 배열로 만들기  (0) 2021.08.02
변수명 짓기  (0) 2021.07.26
DB테이블을 파악할때  (0) 2021.04.27
728x90

 

단순히
SELECT a.컬럼1, a.컬럼2, b.컬럼3
FROM 테이블명 a, 테이블명 b
WHERE a. 컬럼1 = b.컬럼4
ORDER BY 정렬;

하면 간단하게 두 테이블에서 같은것은 출력이 된다. (교집합)


근데 a테이블에는 데이터가 있는데 b테이블에는 데이터가 없으면 위에 쿼리문으로는 출력이 되지 않는다.
그럴때는 outer join을 쓰면 된다.

자세한건 링크에서 보자

SELECT a.컬럼1, a.컬럼2, b.컬럼3
FROM 테이블명 a,
LEFT OUTER JOIN 테이블명 b
ON a. 컬럼1 = b.컬럼4
WHERE 조건절
ORDER BY 정렬;

이렇게 하면 a테이블에는 데이터가 있고 b 테이블에는 데이터가 없어도 b테이블 컬럼에 관한건 null로 나오면서 출력이 된다.


근데 여기서 하나 주의 할건 on과 where 이다. 이 둘은 join하는 범위가 다르다.

예를들어
SELECT a.컬럼1, a.컬럼2, b.컬럼3
FROM 테이블명 a,
LEFT OUTER JOIN 테이블명 b
ON a. 컬럼1 = b.컬럼4
WHERE a.컬럼1 ='sample'
ORDER BY 정렬;

이렇게 하면 a테이블의 컬럼값이 sample인 데이터만 나오는데

SELECT a.컬럼1, a.컬럼2, b.컬럼3
FROM 테이블명 a,
LEFT OUTER JOIN 테이블명 b
ON a. 컬럼1 = b.컬럼4
AND a.컬럼1 ='sample'
ORDER BY 정렬;

이렇게 하면 컬럼값이 sample이 아닌 데이터들도 나온다.

https://blog.leocat.kr/notes/2017/07/28/sql-join-on-vs-where

 

[SQL] join의 on절과 where절 차이

이전 블로그에서 옮겨온 포스트

blog.leocat.kr


INNER JOIN과 OUTER JOIN의 차이는 NULL값이 포함되느냐이다.

테이블 두개를 붙여서 출력할 때 A테이블에는 데이터가 있는데 B에는 데이터가 없는 경우가 있다.
이럴때 INNER JOIN을 하면 B테이블에 데이터가 없기 때문에 출력되지 않는다

이럴때는 OUTER JOIN을 써야지 NULL값도 포함한 모든 데이터가 나온다.

https://server-engineer.tistory.com/306

 

Inner Join과 Outer Join 차이점

INNER JOIN과 OUTER JOIN의 차이를 예제와 함께 설명한다. 1. INNER JOIN 조인이 되는 키값을 기준으로 교집합 (NULL값을 포함하지 않는다) 2. OUTER JOIN 조인이 되는 키값을 기준으로 기준테이블 Key 집합 (기..

server-engineer.tistory.com

 

 


https://goddaehee.tistory.com/62

 

 

[Oracle] 조인 (JOIN), 아우터 조인(Outer Join)

조인 (JOIN)  - JOIN은 각 테이블간에 공통된 걸럼(조건)으로 데이터를 합쳐 표현하는 것이다.  - JOIN에는 크게 INNER JOIN, OUTER JOIN이 있다. ▶ 예제 테이블을 통해 이해해보자. TABLE 1) MEM : 회원테이..

goddaehee.tistory.com

 

 

[Oracle] 조인 (JOIN), 아우터 조인(Outer Join)

조인 (JOIN)  - JOIN은 각 테이블간에 공통된 걸럼(조건)으로 데이터를 합쳐 표현하는 것이다.  - JOIN에는 크게 INNER JOIN, OUTER JOIN이 있다. ▶ 예제 테이블을 통해 이해해보자. TABLE 1) MEM : 회원테이..

goddaehee.tistory.com

 

 

728x90
728x90
728x90
728x90
728x90
728x90

SELECT DISTINCT (컬럼명) FROM 테이블명 (조건절)
여러개를 할때
SELECT DISTINCT (컬럼명), (컬럼명) FROM 테이블명 (조건절)

 

SELECT (컬럼명) FROM 테이블명 (조건절) BROUP BY (컬럼명)

 


DISTINCT 

  • SELECT절에 사용해서 쿼리문이 복잡하지 않고 간결하다
  • DISTINCT를 사용 할 때는 temp tablespace에 임시로 저장하고 작업하기 때문에 시스템에 부하를 줄수 있다?
  • 정렬을 안해준다.
  • 얘는 중복을 제거
  • 얘는 제일 앞에써야 한다. 중간에 쓰면 문법에러

 

GROUP BY

  • DISTINCT보다 복잡하다
  • 정렬을 해준다.
  • 집계함수를 사용할 수 없다. (COUNT, MAX, MIN, SUM, AVG)
  • 얘는 중복을 그룹으로 나누기

그외

컬럼명의 중복을 제외한 행의 갯수
SELECT COUNT(DISRINCR (컬럼명)) FROM (테이블명) 조건절

중복되지 않은 값만으로 합계구하기
SELECT SUM(DISRINCR (컬럼명)) FROM (테이블명) 조건절

중복되지 않은 값만으로 평균구하기
SELECT AVG(DISRINCR (컬럼명)) FROM (테이블명) 조건절

 

 

728x90

+ Recent posts