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 |
댓글