이 글은 mysql의 self-join과 Join Association에 대한 관련 정보를 주로 소개하고 있습니다. 필요하면 아래로 올 수 있습니다. 살펴보겠습니다.
1. mysql 자체 연결
mysql이 정보 조회 시 자체 연결(자체 연결)이 필요한 경우가 있습니다 이므로 테이블에 대한 별칭을 정의해야 합니다. 다음은 구매 가격이 Huihui보다 높은 모든 정보를 찾아야 하는 테이블입니다.
일반적으로 이 테이블을 볼 때 우리는 문을 사용하여 최대한 빨리 작업합니다.
SELECT * FROM shoping WHERE price>27
상상하시겠지만 얼마나 간단한지 , 데이터베이스 테이블의 세부 데이터를 모르거나 데이터의 양이 상당히 많으면 어떻게 되나요? 데이터베이스 관리자로서 우리는 필요한 데이터를 빠르게 찾기 위해 다른 방법을 사용해야 합니다.
단계별 쿼리
가장 간단하고 생각하기 쉬운 조작 방법:
SELECT price FROM shopping WHERE name='惠惠' //得出price查询结果为27 SELECT * FROM shopping WHERE price>27
자체 연결 방식과 비교 , 이 방법은 중간 결과에 대한 수동 개입이 필요하며 이는 분명히 프로그램의 자동 처리 작업에 도움이 되지 않습니다.
자체 연결 방법:
SELECT b.* from shopping as a,shopping as b where a.name='惠惠' and a.price<b.price order by b.id
다음 테이블 정보를 얻을 수 있습니다:
참고:
별칭 a와 b는 이름이 다르지만 동일한 테이블입니다. 별칭을 정의하는 목적은 삭제를 더 쉽게 하기 위한 것입니다. 테이블 자체.
select를 통해 (중간 테이블)을 실행하여 얻은 b.*가 최종 결과입니다.
서브 쿼리
서브 쿼리도 일반적으로 사용되는 방법으로, select 안에 select를 중첩시키는 것입니다.
구현 코드는 다음과 같습니다.
SELECT * FROM shopping WHERE price>(select price from 'shopping' where name='惠惠')
두 가지 방법으로 얻은 결과는 다음과 같습니다.
2. JOIN
INNER JOIN
inner의 주요 기능 연관은 테이블에 일치하는 항목이 하나 이상 있으면 결과 집합을 반환한다는 것입니다. 여기서 내부 조인과 조인은 동일한 기능을 가지므로 함께 도입됩니다.
다음은 상품 테이블과 카테고리 테이블 두 개입니다.
SELECT * FROM goods INNER JOIN category ON goods.id=category.goods_id ORDER BY gods.id
The 결과는 다음과 같습니다.
LEFT JOIN
LEFT JOIN 키워드는 왼쪽 테이블에 나열됩니다. ( table_name1)은 오른쪽 테이블(table_name2)에 일치하는 행이 없더라도 거기에 있는 모든 행을 반환합니다. 프로젝트 작업 시 왼쪽 연관을 사용하는 것이 좋습니다. 그러나 테이블 관계는 여러 개 있는데, 하나의 테이블은 a에 대한 left 조인이면서 동시에 b에 대한 right 조인이기도 하다. 이 경우에는 right 조인을 추가하는 것이 더 편리할 수 있다.
처음 두 테이블을 적용하여 왼쪽 조인 쿼리를 수행합니다.
SELECT goods.*,category.cate_name FROM goods LEFT JOIN category ON goods.id=category.goods_id ORDER BY goods.id
RIGHT JOIN
RIGHT JOIN 키워드는 왼쪽 테이블(table_name1)에 일치하는 행이 없더라도 오른쪽 테이블(table_name2)의 모든 행을 반환합니다. 처음 두 테이블을 적용하여 올바른 상관 관계 쿼리를 수행합니다.
SELECT a.goods_name,a.price,b.* FROM goods as a RIGHT JOIN category as b ON a.id=b.goods_id ORDER BY b.id
다중 테이블 상관 관계의 경우 관련 항목을 더 추가하면 됩니다. 진술.
위 내용은 mysql의 자체 연결 및 조인 연결 구문 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!