PHP는 웹 개발에 자주 사용되는 일반적인 서버 측 프로그래밍 언어입니다. 데이터베이스와 상호 작용하는 작업을 위해 PHP의 MySQLi 확장은 데이터베이스 데이터를 쉽게 쿼리, 추가, 수정 및 삭제할 수 있는 강력한 기능을 제공합니다. 이번 글에서는 PHP를 통해 두 테이블의 정보를 조회하는 방법을 소개합니다.
MySQL 데이터베이스에서는 두 개 이상의 테이블에서 데이터를 검색해야 하는 경우가 있습니다. 예를 들어, 간단한 주문 관리 시스템에서는 주문 및 고객 세부 정보를 표시하기 위해 주문 테이블과 고객 테이블에서 정보를 검색해야 할 수 있습니다. 이 시점에서 쿼리를 위해 두 테이블을 조인해야 합니다.
고객 정보를 저장하는 테이블과 주문 정보를 저장하는 테이블 등 두 개의 테이블이 있다고 가정해 보겠습니다. 고객 테이블에는 고객 ID, 고객 이름, 주소, 도시 및 우편번호 필드가 포함됩니다. 주문 테이블에는 주문 ID, 고객 ID, 주문 날짜 및 총계 필드가 포함됩니다. 우리의 목표는 이 두 테이블에서 주문 및 고객 정보를 검색하는 것입니다.
INNER JOIN 키워드를 사용하여 두 테이블을 조인하면 데이터 검색 시 두 테이블의 데이터를 동시에 검색할 수 있습니다. INNER JOIN 키워드는 두 테이블에서 동일한 값과 일치하는 행을 반환합니다. 이는 다음 코드를 통해 달성할 수 있습니다.
SELECT customers.customer_id, customers.customer_name, orders.order_id, orders.order_date FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id;
이 쿼리 문은 고객 테이블과 주문 테이블에서 동일한 고객 ID를 가진 모든 행을 반환합니다. 세트에는 고객 ID와 고객 이름, 주문 ID 및 주문 날짜 4개의 필드가 포함되어 있습니다.
LEFT JOIN 키워드는 왼쪽 테이블(즉, 첫 번째 테이블)의 모든 행과 오른쪽 테이블(즉, 두 번째 테이블)에서 일치하는 행을 반환합니다. 일치하는 항목이 없으면 NULL로 채워집니다. 예를 들어, 주문하지 않은 고객도 표시하려면 다음 코드를 통해 이를 달성할 수 있습니다.
SELECT customers.customer_id, customers.customer_name, orders.order_id, orders.order_date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
이 쿼리 문은 고객 테이블의 모든 행은 물론 고객 ID가 동일한 행도 반환합니다. 주문 테이블에서 고객이 주문을 하지 않은 경우 쿼리 결과에 NULL 값이 표시됩니다.
RIGHT JOIN 키워드는 LEFT JOIN의 반대입니다. 이는 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환합니다. 예를 들어, 주문한 모든 고객을 표시하려면 다음 코드를 통해 이를 수행할 수 있습니다.
SELECT customers.customer_id, customers.customer_name, orders.order_id, orders.order_date FROM customers RIGHT JOIN orders ON customers.customer_id = orders.customer_id;
이 쿼리 문은 주문 테이블의 모든 행뿐만 아니라 주문 테이블의 동일한 고객 ID를 가진 행도 반환합니다. 고객 테이블. 고객이 주문을 하지 않은 경우 쿼리 결과에 NULL 값이 표시됩니다.
요약
PHP를 통해 두 테이블의 정보를 쿼리하려면 INNER JOIN, LEFT JOIN 및 RIGHT JOIN 키워드를 사용하여 두 테이블을 조인하면 됩니다. 두 테이블을 결합하면 여러 테이블에서 데이터를 쉽게 검색하고 이를 단일 결과 집합으로 병합할 수 있습니다. 쿼리 문을 작성할 때 쿼리 결과가 올바른지 확인하려면 테이블 간의 연결 조건에 특별한 주의를 기울여야 합니다.
위 내용은 PHP를 통해 두 테이블의 정보를 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!