>  기사  >  백엔드 개발  >  PHP의 다중 테이블 관련 쿼리 기술

PHP의 다중 테이블 관련 쿼리 기술

王林
王林원래의
2023-05-24 10:01:512024검색

PHP의 다중 테이블 관련 쿼리 기술

관련 쿼리는 특히 여러 관련 데이터베이스 테이블에 데이터를 표시해야 하는 경우 데이터베이스 쿼리의 중요한 부분입니다. PHP 애플리케이션에서는 MySQL과 같은 데이터베이스를 사용할 때 다중 테이블 관련 쿼리를 자주 사용합니다. 다중 테이블 연관의 의미는 한 테이블의 데이터를 다른 테이블 또는 여러 테이블의 데이터와 비교하고 결과에서 요구 사항을 충족하는 행을 연결하는 것입니다.

다중 테이블 상관 쿼리를 수행할 때는 테이블 간의 관계를 고려하고 적절한 상관 방법을 사용해야 합니다. 다음은 다중 테이블 관련 쿼리에 대한 여러 가지 기술과 이를 PHP에서 사용하는 방법을 소개합니다.

  1. Inner Join

Inner Join은 두 개 이상의 테이블에 있는 레코드를 일치시키고 일치하는 행만 반환하는 가장 일반적으로 사용되는 다중 테이블 연결 방법입니다. MySQL에서 내부 조인의 구문은 다음과 같습니다.

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

예를 들어 고객 목록을 표시해야 하는 경우 자세한 정보를 보려면 다음 SQL 쿼리 문을 사용할 수 있습니다.

SELECT 고객.CustomerID, 고객.CustomerName, 주문.OrderDate
FROM 고객
INNER JOIN 주문
ON 고객.CustomerID = 주문.CustomerID ;

PHP에서는 mysqli 함수의 query() 메서드를 사용하여 이 쿼리 문을 실행할 수 있습니다.

  1. 왼쪽 조인

왼쪽 조인은 일반적으로 사용되는 다중 테이블 연결 방법으로, 왼쪽 테이블과 관련된 왼쪽 테이블의 모든 행과 오른쪽 테이블의 행을 반환합니다. 왼쪽 테이블에 일치하는 행이 없으면 오른쪽 테이블의 열은 NULL이 됩니다. MySQL에서 왼쪽 조인의 구문은 다음과 같습니다.

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

예를 들어 순서 없이 표시해야 하는 경우 고객 목록 고객에서 다음 SQL 쿼리를 사용해야 합니다.

SELECT 고객.CustomerName, 주문.OrderID
FROM 고객
LEFT JOIN 주문
ON 고객.CustomerID = 주문.CustomerID
ORDER BY 고객.CustomerName;

PHP에서는 mysqli 함수의 query() 메서드를 사용하여 이 쿼리 문을 실행할 수 있습니다.

  1. 오른쪽 조인

오른쪽 조인은 왼쪽 조인의 역연산으로, 오른쪽 테이블의 모든 행과 오른쪽 테이블에 관련된 왼쪽 테이블의 행을 반환합니다. 오른쪽 테이블에 일치하는 행이 없으면 왼쪽 테이블의 열은 NULL이 됩니다. MySQL에서 오른쪽 조인의 구문은 다음과 같습니다.

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

예를 들어, 다음의 목록을 표시해야 하는 경우 주문 및 주문의 고객 이름, 고객이 없는 주문을 포함해야 하는 경우 다음 SQL 쿼리 문을 사용할 수 있습니다.

SELECT Orders.OrderID, 고객.CustomerName
FROM 주문
RIGHT JOIN 고객
ON 주문.CustomerID = Customers.CustomerID
ORDER BY Orders.OrderID;

PHP에서는 mysqli 함수의 query() 메서드를 사용하여 이 쿼리 문을 실행할 수 있습니다.

  1. 완전 조인

완전 조인은 왼쪽 테이블과 오른쪽 테이블의 모든 행을 일치시켜 모든 결과를 반환합니다. 두 테이블에 일치하는 행이 없으면 NULL로 채웁니다. MySQL에서 전체 조인의 구문은 다음과 같습니다.

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;

MySQL은 FULL OUTER JOIN을 제공하지 않지만 왼쪽 조인 가능 오른쪽 조인과 결합하여 FULL OUTER JOIN 작업을 시뮬레이션합니다.

PHP에서는 mysqli 함수의 query() 메소드를 사용하여 전체 연결을 구현할 수 있습니다.

  1. Self-join

Self-join은 동일한 테이블에 있는 두 개의 서로 다른 필드를 결합하고 연결할 별칭 테이블을 생성합니다. 핵심은 출력을 사용할 때 다양한 출력 방법을 결정하는 것입니다. MySQL에서 자체 조인 구문은 다음과 같습니다.

SELECT table1.column1, table2.column2...
FROM table1, table2
WHERE table1.column = table2.column;

예를 들어, 다른 모든 것보다 더 찾기 급여가 높은 직원은 다음 SQL 쿼리를 사용할 수 있습니다.

SELECT a.employeeName
FROM 직원 a, 직원 b
WHERE a.employeeSalary > b.employeeSalary
AND b.employeeName = 'Jane';

PHP에서는 mysqli 함수의 query() 메서드를 사용하여 이 쿼리 문을 실행할 수 있습니다.

요약

다중 테이블 관련 쿼리는 PHP 및 MySQL 애플리케이션에서 매우 일반적입니다. 이 문서에서는 내부 조인, 왼쪽 조인, 오른쪽 조인, 전체 조인 및 자체 조인을 포함한 5가지 다중 테이블 관련 기술을 제공합니다. 이러한 기술을 사용하면 여러 관련 데이터베이스 테이블의 데이터를 더 효과적으로 쿼리하고 표시할 수 있습니다.

위 내용은 PHP의 다중 테이블 관련 쿼리 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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