>  기사  >  운영 및 유지보수  >  관련 쿼리에 Oracle 언어를 사용하는 방법

관련 쿼리에 Oracle 언어를 사용하는 방법

PHPz
PHPz원래의
2023-04-17 11:27:592493검색

SQL(데이터베이스 쿼리 언어)에서 관계형 테이블 쿼리는 여러 테이블에서 데이터를 검색하고 이러한 테이블 간에 관계를 설정하는 데 사용되는 일반적인 기술입니다. Oracle 데이터베이스는 가장 일반적으로 사용되는 관계형 데이터베이스 관리 시스템 중 하나이며 강력한 데이터 연관 쿼리 기능을 갖추고 있습니다. 이번 글에서는 Oracle 언어를 사용하여 관계형 쿼리를 수행하는 방법을 살펴보겠습니다.

1. 데이터 상관 쿼리 및 그 유형

데이터 상관 쿼리는 두 개 이상의 테이블을 연결하여 쿼리하고, 결과 집합을 반환할 때 검색할 모든 데이터를 병합하는 것입니다. Oracle에는 세 가지 유형의 데이터 연결 쿼리가 있습니다.

  1. Inner JOIN: 이 유형의 연결은 두 테이블 사이의 정규화된 데이터만 반환합니다. 즉, 두 테이블에 존재하는 행만 반환합니다.
  2. LEFT JOIN: 이 조인은 두 테이블 사이에서 일치하는 모든 데이터는 물론 왼쪽 테이블의 일치하지 않는 레코드도 반환합니다.
  3. RIGHT JOIN: 이 조인은 두 테이블 사이에서 일치하는 모든 데이터는 물론 오른쪽 테이블의 일치하지 않는 레코드도 반환합니다.

2. 데이터 상관 쿼리를 구현하는 Oracle 구문

Oracle에서 상관 쿼리를 수행하려는 경우 다음 구문을 사용할 수 있습니다.

SELECT *
FROM table1 
JOIN table2 
ON table1.column = table2.column;

이 예에서는 JOIN 키워드를 사용하여 테이블 1과 테이블 1을 연결합니다. 2, ON 절을 사용하여 두 테이블 간의 연결 조건을 지정합니다. 상관 조건에서는 상관할 열을 지정하고 상관 방법을 설정할 수 있습니다.

예를 들어 직원 및 부서 정보를 조회하려면 다음 명령을 사용하면 됩니다.

SELECT employees.name, departments.department_name
FROM employees 
JOIN departments 
ON employees.department_id = departments.department_id;

이 예에서는 JOIN 키워드를 사용하여 직원 테이블과 부서 테이블을 연결하고 ON 절을 사용하여 결정합니다. 부서 번호 두 테이블 간의 연결 조건입니다. 마지막으로 두 테이블에서 직원 이름과 부서 이름을 반환 결과로 선택합니다.

3. Oracle 조인 쿼리의 예

다음 예에서는 Oracle에서 내부 조인 및 왼쪽 조인 쿼리를 수행하는 방법을 보여줍니다.

  1. Inner Join Query

이 예에서는 두 테이블 레코드를 일치시키는 쿼리를 수행합니다. , 두 테이블 모두에 존재하는 레코드만 반환됩니다.

주문 ID, 고객 ID, 날짜 및 기타 정보가 포함된 "orders" 테이블이 있다고 가정합니다. 고객 ID, 고객 이름, 주소 및 기타 정보가 포함된 "고객" 테이블도 있습니다. 이제 주문 번호, 고객 이름, 주문 날짜가 포함된 결과 집합을 쿼리하려고 합니다.

SELECT orders.order_id, customers.customer_name, orders.order_date 
FROM orders 
JOIN customers 
ON orders.customer_id = customers.customer_id;

이 예에서는 JOIN 키워드를 사용하여 두 테이블을 연결하고 ON 절은 두 테이블 간의 관계 조건을 지정합니다. 주문 ID, 고객 이름, 주문 날짜가 포함된 결과 집합을 반환합니다.

  1. Left Join Query

이 예에서는 두 테이블 간의 일치 레코드를 쿼리하고 오른쪽 테이블에 일치하는 레코드가 없더라도 왼쪽 테이블의 모든 행을 포함하도록 쿼리합니다.

직원 ID, 이름, 주소 및 기타 정보가 포함된 "employees" 테이블이 있다고 가정합니다. 부서 ID, 부서 이름 및 기타 정보가 포함된 "departments" 테이블도 있습니다. 이제 직원 이름, 부서 이름, 부서 내 직원 수의 결과 집합을 쿼리하려고 합니다.

SELECT departments.department_name, COUNT(employees.employee_id) AS num_employees 
FROM departments 
LEFT JOIN employees 
ON departments.department_id = employees.department_id 
GROUP BY departments.department_name;

이 예에서는 LEFT JOIN 키워드를 사용하여 "departments" 테이블과 "employees" 테이블을 조인하고 GROUP BY 절을 사용하여 결과를 그룹화했습니다. 각 부서의 부서 이름과 해당 부서의 직원 수를 반환합니다.

4. 요약

이 기사를 통해 Oracle 데이터베이스에서 데이터 상관 쿼리의 중요성과 이를 SQL 언어를 통해 구현하는 방법을 이해했습니다. 또한 INNER JOIN 및 LEFT JOIN 문을 사용하여 일치하는 레코드와 일치하지 않는 레코드를 쿼리하는 방법도 시연했습니다. 이러한 방법을 이해하고 실천함으로써 우리는 데이터베이스와 SQL을 더 잘 이해할 수 있으며, 따라서 대량의 데이터와 복잡한 쿼리를 처리할 때 더 자신감 있고 정확해질 수 있습니다.

위 내용은 관련 쿼리에 Oracle 언어를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.