my sql 의 자체 연결 과 join 의 관 계 를 깊이 이해 합 니 다.
my sql 은 정보 조회 시 자신 에 대한 연결(자체 연결)이 필요 하기 때문에 표 에 별명 을 정의 해 야 합 니 다.우 리 는 예 를 들 어 아래 는 상품 구 매 표 이 며,우 리 는 구 매 가격 이 혜 혜 혜 보다 높 은 모든 정 보 를 찾 아야 한다.
일반적인 상황 에서 우 리 는 이 시 계 를 보고 우 리 는 처음으로 문장 으로 조작 한다.
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=' ')
소득 결 과 는 다음 과 같이 두 가지 방식 으로 얻 은 결과 가 같다 는 것 을 알 수 있다.둘째,가입
INNER JOIN
내부 관련 의 주요 역할 은 표 에 최소한 일치 하 는 것 이 있 을 때 결과 집 으로 돌아 가 는 것 입 니 다.여기 있 는 inner join 은 join 과 같은 역할 을 하기 때문에 같이 소개 합 니 다.
다음은 두 장의 표를 드 리 겠 습 니 다.각각 goods 와 category 표 입 니 다.
SELECT * FROM goods INNER JOIN category
ON goods.id=category.goods_id
ORDER BY gods.id
결 과 는 다음 과 같다.LEFT JOIN
LEFT JOIN 키 워드 는 왼쪽 표(tablename 1)오른쪽 표(table)에서 도 모든 줄 을 되 돌려 줍 니 다.name 2)에 일치 하 는 줄 이 없습니다.프로젝트 를 할 때 왼쪽 연결 을 사용 하 는 것 을 권장 합 니 다.그러나 많은 표 와 관련 된 것 이 존재 합 니 다.한 표 는 a 에 왼쪽 으로 연결 되 지만 b 에 오른쪽 으로 연결 되 어 있 습 니 다.이때 오른쪽 연결 을 더 하면 쓰기 가 편리 할 수 있 습 니 다.
처음 두 장의 표를 사용 하여 왼쪽 관련 조 회 를 진행 합 니 다.
SELECT goods.*,category.cate_name
FROM goods LEFT JOIN category
ON goods.id=category.goods_id
ORDER BY goods.id
RIGHT JOIN
라이트 존 키 워드 는 오른쪽 표(tablename 2)왼쪽 표(table)에서 도 모든 줄 을 되 돌려 줍 니 다.name 1)에 일치 하 는 줄 이 없습니다.처음 두 장의 표를 사용 하여 오른쪽 관련 조 회 를 진행 합 니 다.
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
다 표 관련 상황 에 대해 서 는 관련 문 구 를 몇 개 더 추가 하 는 것 이다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL에서 JSON 인덱싱 - aarondfrancis사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 말하지만 완전히 정확하지는 않습니다. MySQL로 JSON 열을 인덱싱하는 것은 완전히 가능합니다! 사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.