MySQL JOIN : 설명, 명령 및 권장 사항 사용 예제
인터넷 자원 데이터베이스 개발실질적으로 MS SQL SERVER에서 개발 된 표준 데이터베이스와 다르지 않습니다. 일반적으로 이러한 리소스의 경우 MY SQL 언어가 사용되지만 현지 사용을위한 표준 소프트웨어 제품을 개발하는데도 사용할 수 있습니다. 그러나이 기사는 이것에 관한 것이 아닙니다.
종종 각각의 데이터베이스에서 작업 할 때언어는 다양한 보고서, 그래프 등으로 출력 할 데이터를 선택하는 작업입니다. 일반적으로 이러한 작업을 구현할 때 하나 이상의 테이블을 하나의 쿼리로 결합하여 구성을 복잡하게 만드는 것이 필요합니다. 동시에 데이터를 출력하는 방법, 테이블을 "끌어 올리는"방법 및 프로그래머에게 가장 적합한 결과가 무엇인지 고려해야합니다. 이러한 문제를 해결하기 위해 MySQL 언어의 표준 구조 중 하나가 Join입니다.
조인이라는 단어의 개념
데이터베이스 개발 언어, 정확히 무엇이 중요하지 않습니다.이것은 언어입니다. 영어 사전의 표준 단어가 기본으로 사용됩니다 (영어를 사용하면 테이블 작업이 훨씬 쉬워집니다). 샘플에 테이블 연결을 구현하려면 동일한 단어가 사용됩니다 - Join. 데이터베이스 프로그래밍 언어에서 My SQL이 사용됩니다. 이 공식 단어의 번역은 언어 자체와 정확히 동일합니다 - "통일".
MySQL-Join 구조 해석하기그들 중 누구도 정확히 동일 할 것입니다. 디자인 목적, 즉 연산 방식을 해독하면 다음과 같은 의미가 있습니다. 구문을 사용하면 여러 테이블이나 중첩 쿼리에서 필요한 필드를 하나의 샘플로 수집 할 수 있습니다.
협회의 구조 유형
프로그래머가 샘플을 수집해야하는 경우여러 테이블과 그 중 어떤 키 필드와 어떤 종류의 데이터가 보고서에 필요한지 알고 있다면 원하는 기본 결과를 얻기 위해 유니언의 기본 디자인 중 하나를 사용할 수 있습니다. 테이블 조인을위한 기본 구조는 4 가지입니다.
- 내부 조인.
- 교차 가입.
- 왼쪽 가입.
- 오른쪽 가입.
작업에 따라 표준 디자인마다 각각 다른 결과가 주어지며 짧은 시간에 여러 매개 변수에 대한 보고서를받을 수 있습니다.
나중에 사용하기 위해 테이블 생성 및 채우기
예를 들어, 시작하기 전에 다음을 고려하십시오.데이터 연합 구조로 작업하기위한 메커니즘을 제공하기 때문에 여러 테이블을 준비 할 필요가 있으며 앞으로도 계속 노력할 것입니다. 이것은 시각적으로 연산자의 모든 원칙을 보여줄뿐만 아니라 초보자가 프로그래밍 테이블의 모든 기본 사항을보다 쉽게 이해할 수 있도록 도와줍니다.
첫 번째 표는 사람이 평생 동안 만나는 몇 가지 항목을 설명합니다.
두 번째 테이블에서는 첫 번째 테이블의 개체 속성을 설명하여 향후 이들 개체와 함께 작업 할 수 있습니다.
일반적으로 두 개의 테이블은 예제를 사용하여 작업을 표시하기에 충분합니다. 이제 우리는 디자인에 대한 실질적인 고려를 시작할 수 있습니다.
내부 결합 사용
MySQL의 구성을 사용할 때 - Ineer에 가입하십시오.일부 기능을 고려해 볼 가치가 있습니다. 이 디자인을 사용하면 두 테이블 모두에서 첫 번째 테이블과 두 번째 테이블에있는 레코드 만 선택할 수 있습니다. 어떻게 작동합니까? 첫 번째 테이블에는 테이블의 레코드 수를 나타내는 마스터 키 -ID가 있습니다.
두 번째 테이블을 만들 때 동일한 키시퀀스 번호로 사용되는 경우, 예를 도면에서 볼 수 있습니다. 데이터를 선택할 때 Select 연산자는 시퀀스 번호가 일치하는 결과 인 레코드 만 결정합니다. 즉 첫 번째 테이블과 두 번째 테이블에 있음을 의미합니다.
이해해야 할 디자인을 사용할 때어떤 종류의 데이터를 얻을 필요가 있습니다. 초보 데이터베이스 프로그래머에게 가장 흔한 실수는 Inner Join 구조를 비합리적이고 잘못 사용하는 것입니다. 예를 들어, MySQL 내부 결합은 이전에 설명하고 채워진 테이블에서 객체와 객체 속성에 대한 정보를 반환하는 스크립트를 고려할 수 있습니다. 그러나 디자인을 사용하는 데는 여러 가지 방법이있을 수 있습니다. 이와 관련하여 My SQL은 매우 유연한 언어입니다. 그래서, 당신은 MySQL 내부 조인을 사용하여 예제를 고려할 수 있습니다.
매개 변수를 지정하지 않고 표 결합. 이 경우, 우리는 그러한 계획의 결과를 얻습니다 :
우리가 Using라는 서비스 단어를 통해 나타내면,테이블에있는 레코드의 주요 키를 고려할 필요가 있습니다. 그러면 샘플 결과가 크게 변경됩니다. 이 경우 동일한 마스터 키를 가진 행만 반환하는 샘플을 얻습니다.
세 번째 사용 사례도 가능합니다.구성 "이라는 단어를 통해 쿼리 할 때 필드가 표시되고 그에 따라 테이블을 조인해야합니다. 이 경우 샘플은 다음 데이터를 반환합니다.
왼쪽 결합 사용의 특징
MySQL - Join 구조를 사용하여 테이블을 조인하는 다른 방법을 고려해 보면 출력되는 데이터의 차이를 확인할 수 있습니다. 이러한 메커니즘은 좌파의 건설이다.
Left Join 구조를 사용하여 MySQL은 몇 가지 기능을 가지고 있으며 Inner와 마찬가지로 결과를 명확하게 이해해야합니다.
이 경우 모든 항목이 먼저 선택됩니다.첫 번째 테이블에서 두 번째 테이블의 레코드에 결합됩니다. 동시에 첫 번째 테이블에 "stool"과 같은 레코드가 있고 두 번째 테이블에 속성이없는 경우 Left 연산자는이 레코드의 반대쪽에 null을 인쇄하여 프로그래머에게이 유형의 객체에 징후가 없음을 알립니다. .
이 디자인을 사용하면 상점의 상품 가격, 보증 기간 등의 필드 또는 필드를 판별 할 수 있습니다.
왼쪽 유스 케이스
운영자의 고려 사항Left Join MySQL 구문은 앞에서 설명한 테이블을 사용합니다. 예를 들어, 상점에있는 전체 제품 목록을 선택하고 일부가 표시 또는 특성으로 표시되지 않았는지 확인해야합니다. 이 경우 샘플에 모든 제품이 표시되고 속성이없는 제품에는 빈 값이 입력됩니다.
결합 구조에서의 Where 사용하기
매개 변수로 조인은 테이블이 연결되어야하는 필드를 지정하는 것뿐만 아니라 Where 절 연산자도 포함 할 수 있습니다.
예를 들어,표시되지 않은 기록 만 우리에게 돌려주십시오. 이 경우 조인 생성에 조건문을 추가하고 결과로 정확히 반환되어야하는 것을 지정해야합니다.
MySQL Join에서 사용되는 경우 - 지정된 조건이 참조하는 레코드 만 표시된다는 것을 명확히 이해해야하며 샘플은 다음과 같이 표시됩니다.
이러한 쿼리를 통해 샘플을 만들 수 있습니다.프로그래머가 선택한 조건과 관련된 특정 데이터. 결합 된 테이블에서 데이터 선택 매개 변수를 최대로 정제하면서 여러 조건을 지정할 수 있습니다.
조인을 사용하여 테이블의 데이터 수정
Join의 구성은 본질적으로 보편적입니다. 다양한 샘플을 만들 수있을뿐 아니라 하나의 테이블에서 여러 테이블의 쿼리를 포함시켜 샘플에 추가 조건을 도입 할 수 있습니다. 이 디자인은 다른 데이터 작업에도 사용할 수 있습니다. 따라서 조인을 사용하여 테이블의 데이터를 변경할 수 있습니다. 오히려 같은 조건에서 여러 테이블의 데이터를 업데이트해야하는 경우 테이블의 조건을 명확히하거나 그러한 경우를 명확하게하기 위해.
예를 들어,이 문제를 고려하십시오. 몇 가지 데이터가있는 세 개의 테이블이 있습니다. 단일 쿼리를 사용하여 두 테이블의 데이터를 변경해야합니다. 이러한 종류의 작업을 해결하기 위해 Update 명령에서 Join 명령을 사용할 수 있습니다. 조인 유형은 데이터 샘플링의 경우와 마찬가지로 프로그래머가 얻고 자하는 결과에 따라 달라집니다.
가장 단순한 예를 생각해보십시오. 동일한 조건에 대해 하나의 요청으로 데이터를 업데이트해야합니다. 이러한 쿼리는 데이터베이스 작업을 최적화하기 위해 만들어졌습니다. 하나의 쿼리에서 데이터를 사용하여 모든 조작을 수행 할 수 있다면 왜 각 테이블마다 서로 다른 쿼리를 작성합니까? 우리의 경우 MySQL 업데이트 가입 예제는 다음과 같습니다.
복잡한 쿼리 작성
데이터베이스 작업시 매우 자주 사용됩니다.여러 테이블의 조합뿐만 아니라 하위 쿼리를 사용하여 쿼리를 작성해야합니다. 이러한 작업은 초보자 데이터베이스 프로그래머가 이해하기가 매우 어렵습니다. 어려운 점은 각 단계를 생각해 봐야 어떤 테이블 또는 쿼리의 데이터를 가져와야하는지, 앞으로 어떻게 처리해야 하는지를 결정해야한다는 것입니다.
보다 구체적인 이해를 위해 고려할 수 있습니다.(MySQL 조인에서) 복잡한 쿼리의 예. 당신이 초보자이고 방금 데이터베이스 작업을 시작한다면, 그러한 훈련은 오직 도움이 될 것입니다. 가장 이상적인 옵션은 MySQL Left Join 예제입니다.
이 요청은 우리에게 58 건의 계약 기록을 돌려 줄 것입니다.현금 잔액이 채워지거나 선택한 날짜에 존재하는 판매. 이 경우 현재 날짜입니다. 또한 계약서 제목에 "123"기호가 포함되어야한다는 조건이 샘플에 추가되었습니다. 화면에 표시된 정보 (데이터)는 계약 번호순으로 정렬됩니다.
다음 예는 계약 번호가 표시되는 모든 지불에 대한 데이터를 표시합니다.
하위 쿼리 사용
앞서 언급했듯이 데이터베이스 작업테이블뿐만 아니라 쿼리가있는 테이블도 데이터를 결합 할 수 있습니다. 이 디자인은 주로 쿼리 속도와 최적화 속도를 높이기 위해 사용됩니다.
예를 들어, 필요한 경우 테이블에서수백 개의 필드를 가지고 있고, 말하자면 1000 개의 레코드를 가지고 있고, 두 개의 필드만을 선택하면, 필수 필드만을 반환하고이를 주 데이터 샘플과 결합하는 쿼리를 사용해야합니다. MySQL Join Select의 예로서 다음과 같은 유형의 쿼리를 고려할 수 있습니다.
이것들은 표준의 모든 용도가 아닙니다.MySQL은 구성하지만 표준 구성 만 포함합니다. Join 구조체를 사용하는 방법과 프로그래머가 스스로 결정한 어떤 형태로든, 쿼리를 실행할 때 얻을 결과를 기억하고 고려해야 할 가치가 있습니다.