키워드를 활용한 오라클 학습(자세한 예시)

WBOY
풀어 주다: 2022-03-02 18:05:28
앞으로
2800명이 탐색했습니다.

이 글은 Oracle에 대한 관련 지식을 제공하며, using 키워드를 사용하여 연결 쿼리를 단순화할 수 있는 내용을 주로 소개합니다.

키워드를 활용한 오라클 학습(자세한 예시)

추천 튜토리얼: "Oracle Tutorial"

직장에서 다음과 유사한 SQL 문을 보았습니다.

select 
    tb.usrnm, 
    tb.typ, 
    tb.oprorder 
    from tb
    inner join rb1
    using (stfaprid) 
    where tb1.jugsumid = #jugsumid# 
    and tb1.blnorg = #blnorg# 
    and isvld = '1' 
    order by tb.typ asc, tb.oprorder asc
로그인 후 복사

sql/92 표준에서는 using 키워드를 사용하여 연결 쿼리를 단순화할 수 있지만 쿼리에만 있습니다. 다음 두 조건이 충족되는 경우 단순화를 위해 using 키워드를 사용할 수 있습니다.

  • 1. 쿼리는 동등 조인이어야 합니다.
  • 2. 동등 조인의 열은 이름과 데이터 유형이 동일해야 합니다.

                                                                out out out out out out out out through   다음과 같이 using 키워드를 사용합니다.

select emptno,ename,sal,deptno,dname from emp e inner join dept d using(deptno);
로그인 후 복사

      out out out out out out out out out out of ‐ in to 자연스러운 연결.
연결을 단순화하기 위해 using 키워드를 사용할 경우 다음 사항에 주의해야 합니다.

  • 1. emp 테이블과 dept 테이블의 deptno 열을 사용하여 연결하는 경우 using 절이나 select 절이 모두 사용되지 않습니다. deptno 열을 지정할 수 있습니다. 테이블 이름 또는 테이블 별칭.
  • 2. 쿼리 연결 시 두 테이블에서 동일한 여러 컬럼을 사용하는 경우 using 절에 여러 컬럼 이름을 지정할 수 있습니다.

형식은 다음과 같습니다.

select... from table1 inner join table2 using(column1,column2)
로그인 후 복사

위 구문은 다음과 같습니다. 명령문:

select... from table1 inner join table2
on table1.column1=table2.column2
and table1.column2=table2.column2;
로그인 후 복사

여러 테이블을 검색하는 경우 using 키워드를 여러 번 사용하여 지정해야 합니다. 형식은 다음과 같습니다.

select... from table1
inner join table2 using(column1)
inner join table3 using(column2);
로그인 후 복사

위 명령문은 다음 명령문과 동일합니다.

select... from table1,table2,table3
where table1.column1=table2.column1
and table2.column2=table3.column2;
로그인 후 복사

Rethink using

Oracle에서는 using 키워드가 자연 조인과 관련된 조인 연결에 사용됩니다.
natraul 조인을 사용하고 두 테이블에 동일한 이름과 데이터 유형을 가진 여러 필드가 있는 경우 이러한 필드는 Oracle이 자체적으로 연결될 것이라고 앞서 언급했습니다.
하지만 실제로는 이렇게 연결하지 않아도 될 때가 있습니다. 이름과 데이터 유형이 동일한 여러 필드 중 하나 또는 두 개를 선택하면 됩니다. 이때 using 키워드를 사용해야 합니다. 아래는 예시입니다.
sales라는 테이블과 Cost라는 또 다른 테이블이 있습니다. 두 테이블 모두 pro_id와 time_id라는 두 개의 필드를 가지고 있습니다. 우리는 당분간 다음 연결의 실제 의미를 고려하지 않고 문법적 연구만 수행할 것입니다.
자연 연결을 사용하면 기본적으로 두 필드가 자연스럽게 연결됩니다.

Select * from Sales natural join costs;
로그인 후 복사

,

Select * from Sales join costs on Sales.prod_id = costs.prod_id and sales.time_id = costs.time_id
로그인 후 복사

,

Select * from Sales ,costs Where Sales.pro_id = cost.prod_id
and sales.time_id = costs.time_id
로그인 후 복사

로 얻은 결과는 동일해야 합니다.
자연 조인을 사용하면 조인 조건을 제어할 기회가 없습니다. Oracle은 자체적으로 동일한 데이터 유형과 이름을 가진 두 필드를 자연스럽게 조인합니다.
다음으로 using 키워드를 사용합니다.

Select * from Sales join costs using(prod_id)
로그인 후 복사

이렇게 하면 Oracle이 자연 조인 연결의 기본 두 필드 대신 연결에 사용하여 지적한 필드를 사용하게 됩니다.
여기의 SQL 문은 의미가 없습니다. 단지 using의 사용법을 설명하기 위한 터무니없는 예일 뿐입니다.
여기서 설명해야 할 사항은 다음과 같습니다.
using 키워드를 사용하고 선택 결과 목록 항목에 using 키워드로 지정된 키워드가 포함되어 있는 경우 선택 결과 목록 항목에서 해당 키워드를 사용하지 마세요. 예를 들어 using(prod_id)를 사용하고 결과 목록에 prod_id 필드를 포함하려는 경우 sales.prod_id 또는costs.prod_id로 작성하지 말고 prod_id로 작성하고, 별칭, 예를 들어 prod_id를 "제품 번호"로 사용하세요.

  • using에는 하나의 열 이름만 사용할 수 있습니다.
  • natural Join 키워드와 using 키워드는 상호 배타적이므로 동시에 나타날 수 없습니다.

추천 튜토리얼: "Oracle Video Tutorial"

위 내용은 키워드를 활용한 오라클 학습(자세한 예시)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿