본문 바로가기
개발/교육

(데이터베이스)19일차

by kakk789 2022. 4. 21.

inner join

  • 양쪽 테이블에 모두 조건을 만족하는 레코드만 출력

outer join

  • 조인을 할때에 조건을 만족하지 않더라도 포함시키고자할 때에 사용

Left Outer Join

  • from 절 왼쪽에 있는 테이블1의 내용이 조건을 만족하지 않더라도 모두 출력
  • 테이블1번에서 null 값인 것도 전부 출력
SELECT 컬럼1, 컬럼2, ......
FROM 테이블1 left outer join 테이블2
ON 조건식

Right Outer join

  • from 절 오른쪽에 있는 테이블은 조건을 만족하지 않더라도 모두 출력
  • 테이블2번에서 null 값인 것도 전부 출력
SELECT 컬럼1, 컬럼2, ......
FROM 테이블1 right outer join 테이블2
ON 조건식

일반적인 Inner Join 결과 충족되지 않는 값 출력 x

일반적인 outer Join 결과 충족되지 않는 값도 출력 O

Full Outer join

양쪽 테이블 모두 포함

 

Self Join

  • 테이블 하나에서 어떤 컬럼이 자신의 또 다른 컬럼의 값을 참조하는 경우 사용
  • 실제 물리적으로는 테이블이 하나인데 마치 두개인 것처럼 애칭을 주어 조인하는 것
  • 아래 where 조건식에서는 사원의 mgr번호와 관리자의 eno번호는 참조관계에 있다는 개념
SELECT 사원.ename 사원이름, 관리자.ename 관리자이름
FROM emp 사원, emp 관리자
WHERE 사원.mgr = 관리자.eno

 

NVL 함수

  • 특정 컬럼의 값이 NULL일 경우 다른 값으로 대체하는 함수
NVL (컬럼, 변환할 값)

sysdate 함수

  • 오늘을 나타내는 함수

서브쿼리

  • sql 쿼리 안에 다른 sql 쿼리가 삽입되는 것
  • 서브쿼리가 조인보다 효율이 더 좋다고 한다.
  • 서브쿼리가 올 수 있는 곳
select절
from절
where절

상관 서브쿼리

  • 서브쿼리의 조건식에 메인쿼리의 테이블과 조건식이 필요한 경우
  • 메인쿼리와 하위쿼리가 연관, 상관이 있어야 한다.
  • 하위 쿼리에 where 절로 아래와 같이 표현 한다.
( WHERE b1.PUBLISHER = b2.publisher )

집합연산

Union

Minus

//모든 고객의 이름
SELECT NAME FROM customer

// 마이너스
minus

// 주문한 고객의 이름
SELECT NAME FROM CUSTOMER where custid IN (SELECT distinct custid from orders);

== 결과== 
주문하지 않은 고객의 이름이 출력됨

Intersect

 

EXISTS

  • 서브쿼리의 결과가 존재하면 메인쿼리를 실행하고 존재하지 않으면 메인쿼리를 실행하지 않음
  • 하위 쿼리가 상관 서브쿼리 형식으로 와야함
select 컬럼1, 컬럼2 from 테이블1
where exists
( select 컬럼3 from 테이블 2 where 테이블1.컬럼1 = 테이블2.컬럼4)

부서명을 입력하기 위한 HTML 설정

	<form action="searchEmp_input2.jsp" method="post">
		부서명을 입력: <input type="text" name="dname">
		<input type="submit" value ="부서명 검색">
	</form>
	<hr>
form 태그 : 값 입력을 위해 form 태그 설정 필요
action : 일을 처리하는 '.jsp 파일 명' 적어줄 것
method : 데이터 전송을 위한 방식 설정 (Get, Post)
input type = "text" : 입력 값을 스트링 형태로 입력 받고 "dname" 으로 저장
input type = "submit" : 데이터 전송을 위한 input type을 submit 타입으로 명명

결과 값 받을 때 한글 설정 해주기

request.setCharacterEncoding ("euc-kr");

입력값을 변수로 받기

request.getParameter("input name 적기");

 

반응형

'개발 > 교육' 카테고리의 다른 글

(데이터베이스)21일차  (0) 2022.04.25
(데이터베이스)20일차  (0) 2022.04.22
(데이터베이스)17일차  (0) 2022.04.19
(Java)16일차  (0) 2022.04.18
(Java)15일차  (0) 2022.04.15

댓글