MySQL JOIN : 설명, 명령 및 권장 사항 사용 예제

인터넷 자원 데이터베이스 개발실질적으로 MS SQL SERVER에서 개발 된 표준 데이터베이스와 다르지 않습니다. 일반적으로 이러한 리소스의 경우 MY SQL 언어가 사용되지만 현지 사용을위한 표준 소프트웨어 제품을 개발하는데도 사용할 수 있습니다. 그러나이 기사는 이것에 관한 것이 아닙니다.

mysql join

종종 각각의 데이터베이스에서 작업 할 때언어는 다양한 보고서, 그래프 등으로 출력 할 데이터를 선택하는 작업입니다. 일반적으로 이러한 작업을 구현할 때 하나 이상의 테이블을 하나의 쿼리로 결합하여 구성을 복잡하게 만드는 것이 필요합니다. 동시에 데이터를 출력하는 방법, 테이블을 "끌어 올리는"방법 및 프로그래머에게 가장 적합한 결과가 무엇인지 고려해야합니다. 이러한 문제를 해결하기 위해 MySQL 언어의 표준 구조 중 하나가 Join입니다.

조인이라는 단어의 개념

데이터베이스 개발 언어, 정확히 무엇이 중요하지 않습니다.이것은 언어입니다. 영어 사전의 표준 단어가 기본으로 사용됩니다 (영어를 사용하면 테이블 작업이 훨씬 쉬워집니다). 샘플에 테이블 연결을 구현하려면 동일한 단어가 사용됩니다 - Join. 데이터베이스 프로그래밍 언어에서 My SQL이 사용됩니다. 이 공식 단어의 번역은 언어 자체와 정확히 동일합니다 - "통일".

MySQL-Join 구조 해석하기그들 중 누구도 정확히 동일 할 것입니다. 디자인 목적, 즉 연산 방식을 해독하면 다음과 같은 의미가 있습니다. 구문을 사용하면 여러 테이블이나 중첩 쿼리에서 필요한 필드를 하나의 샘플로 수집 할 수 있습니다.

협회의 구조 유형

mysql join

프로그래머가 샘플을 수집해야하는 경우여러 테이블과 그 중 어떤 키 필드와 어떤 종류의 데이터가 보고서에 필요한지 알고 있다면 원하는 기본 결과를 얻기 위해 유니언의 기본 디자인 중 하나를 사용할 수 있습니다. 테이블 조인을위한 기본 구조는 4 가지입니다.

  1. 내부 조인.
  2. 교차 가입.
  3. 왼쪽 가입.
  4. 오른쪽 가입.

작업에 따라 표준 디자인마다 각각 다른 결과가 주어지며 짧은 시간에 여러 매개 변수에 대한 보고서를받을 수 있습니다.

나중에 사용하기 위해 테이블 ​​생성 및 채우기

예를 들어, 시작하기 전에 다음을 고려하십시오.데이터 연합 작업을위한 메커니즘을 제공하기 때문에 앞으로도 계속 작업 할 여러 테이블을 준비하는 것이 좋습니다. 이것은 시각적으로 연산자의 모든 원칙을 보여줄뿐만 아니라, 초보자도 프로그래밍 테이블의 모든 기본 사항을 배우기 쉽습니다.

첫 번째 표는 사람이 평생 동안 만나는 몇 가지 항목을 설명합니다.

mysql join

두 번째 테이블에서는 첫 번째 테이블의 개체 속성 몇 가지를 설명하므로 앞으로 이러한 개체를 사용할 수 있습니다.

왼쪽에 mysql 참여

일반적으로 두 개의 테이블은 예제를 통해 작업을 표시 할 수 있습니다. 이제 우리의 디자인을 고려할 수 있습니다.

내부 결합 사용

MySQL 구성을 사용할 때 - Ineer에 가입하십시오.일부 기능을 고려해 볼 가치가 있습니다. 이 디자인을 사용하면 첫 번째 테이블과 두 번째 테이블 모두에있는 레코드 만 두 테이블에서 선택할 수 있습니다. 어떻게 작동합니까? 첫 번째 테이블에는 테이블의 일련 번호를 나타내는 마스터 키 -ID가 있습니다.

두 번째 테이블을 만들 때 동일한 키일련 번호로 사용되는 예는 그림에서 볼 수 있습니다. 데이터를 선택할 때 Select 연산자는 시퀀스 번호가 동일한 레코드 만 결정합니다. 즉, 첫 번째 테이블과 두 번째 테이블에 모두 존재 함을 의미합니다.

건설을 이용할 때,어떤 데이터를 받아야하는지. 특히 초급 데이터베이스 프로그래머에게 가장 흔한 실수는 Inner Join 디자인을 비합리적이고 잘못 사용하는 것입니다. 예를 들어, MySQL 내부 결합은 이전에 설명하고 채워진 테이블에서 객체 및 해당 속성에 대한 정보를 반환하는 스크립트를 고려할 수 있습니다. 그러나 구조를 사용하는 데는 여러 가지 방법이있을 수 있습니다. 이 점에서 My SQL은 매우 유연한 언어입니다. 그래서, 당신은 MySQL 내부 조인을 사용하여 예제를 고려할 수 있습니다.

매개 변수를 지정하지 않고 표 결합. 이 경우, 우리는 그러한 계획의 결과를 얻습니다 :

mysql 내부 조인

우리가 유틸리티라는 단어를 통해 나타낼 때, 그것은테이블에있는 레코드의 주요 키를 고려해야하며, 샘플의 결과는 크게 달라질 것입니다. 이 경우 동일한 기본 키가있는 행만 반환하는 샘플을 얻습니다.

mysql join 예제

세 번째 옵션도 가능합니다.구문에서 쿼리에서 "on"이라는 단어는 테이블을 조인해야하는 필드를 지정하는 데 사용됩니다. 이 경우 샘플은 다음 데이터를 반환합니다.

mysql join select

Left Join 사용의 특징

MySQL-Join 구조를 사용하여 테이블을 결합하는 다른 방법을 고려해 보면 출력되는 데이터의 차이를 알 수 있습니다. 이 메커니즘은 Left 구조입니다.

Left Join 구조를 사용하면 MySQL에는 몇 가지 기능이 있으며 Inner와 마찬가지로 결과를 명확하게 이해해야합니다.

이 경우 모든 레코드가 먼저 선택됩니다.첫 번째 테이블에서 나중에 두 번째 속성 테이블의 레코드에 연결됩니다. 이 경우 첫 번째 테이블에 항목 (예 : "stool")이 있고 두 번째 테이블에 항목이없는 경우 Left 문은이 레코드에 대해 null 값을 표시하므로 프로그래머에게 이러한 종류의 객체에 대한 신호가 없다는 것을 알려줍니다 .

이 디자인을 사용하면 상점의 상품이 가격, 보증 기간 등에 노출되지 않는 필드를 판별 할 수 있습니다.

왼쪽 예제

실제로 연산자를 고려하려면Left Join MySQL은 앞에서 설명한 테이블을 사용합니다. 예를 들어 상점에있는 전체 제품 목록을 선택하고 표시 또는 특성으로 표시되지 않은 항목을 선택해야합니다. 이 경우 샘플은 모든 제품을 화면에 표시하고 속성이없는 제품의 경우 빈 값을 표시합니다.

mysql update join

Join 구문에서 Where 사용하기

매개 변수로 조인은 테이블을 연결할 필드뿐만 아니라 Where 절 연산자도 포함 할 수 있습니다.

예를 들어,표시가없는 기록 만 우리에게 돌려 보내십시오. 이 경우 Join 구조에서 조건문을 추가하고 정확히 결과로 반환 할 내용을 지정해야합니다.

MySQL Join에서 사용되는 경우 - 지정된 조건이 적용되는 레코드 만 표시되고 선택 항목은 다음과 같이 표시된다는 것을 명확히 이해해야합니다.

mysql join where

이러한 요청은프로그래머가 선택한 조건과 관련된 특정 데이터. 이러한 조건은 여러 가지가 있지만 병합 된 테이블에서 데이터 선택 매개 변수를 지정하는 것과 같습니다.

결합을 사용하여 테이블의 데이터 변경

Join 구조는 사실 보편적입니다. 다양한 샘플을 만들 수있을뿐 아니라 하나 또는 여러 개의 테이블 요청을 샘플에 추가 할 수 있습니다. 이 디자인은 다른 데이터 작업에도 사용할 수 있습니다. 따라서 조인을 사용하여 테이블의 데이터를 수정할 수 있습니다. 오히려 동일한 조건에 대해 여러 테이블의 데이터를 업데이트하려는 경우 테이블의 조건을 명확히하려는 경우입니다.

예를 들어,이 문제를 고려하십시오. 데이터가있는 세 개의 테이블이 제공됩니다. 하나의 쿼리를 사용하여 두 테이블의 데이터를 변경해야합니다. 이러한 종류의 작업을 해결하기 위해 Update 명령에서 Join 구조를 사용할 수 있습니다. Join 구조 자체의 유형은 데이터 가져 오기의 경우와 마찬가지로 프로그래머가 얻고 자하는 결과에 따라 달라집니다.

가장 단순한 예를 생각해 봅시다. 동일한 조건에 대해 동일한 쿼리를 업데이트해야합니다. 이러한 쿼리는 데이터베이스 작업을 최적화하기 위해 만들어졌습니다. 하나의 쿼리로 모든 데이터 조작을 수행 할 수 있다면 각 테이블마다 다른 쿼리를 작성해야하는 이유는 무엇입니까? 이 경우의 MySQL Update Join 예제는 다음과 같습니다.

mysql 왼쪽 join 예제

복잡한 쿼리 작성

데이터베이스 작업시 매우 자주 사용됩니다.여러 테이블을 병합하는 것뿐만 아니라 하위 쿼리를 사용하여 쿼리를 작성해야합니다. 이러한 작업은 초급 데이터베이스 프로그래머를 이해하는 데 다소 어려움이 있습니다. 어려운 점은 각 단계를 생각해 봐야 어떤 테이블 또는 쿼리의 데이터를 가져와야하는지, 앞으로 어떻게 처리해야 하는지를 결정해야한다는 것입니다.

보다 구체적인 이해를 위해,(MySQL 조인에서) 복잡한 쿼리의 예. 당신이 초보자이고 방금 데이터베이스 작업을 시작한다면, 그러한 훈련은 오직 도움이 될 것입니다. 이상적인 옵션은 MySQL Left Join 예제입니다.

왼쪽에 mysql 참여

이 요청은 58 개의 계약 항목을 반환합니다.선택된 날짜의 잔액이 가득 찼거나 존재하는 판매입니다. 이 경우 현재 날짜입니다. 또한 샘플에서 계약 이름에 기호 "123"을 포함해야한다는 조건이 추가되었습니다. 화면 (데이터)에 표시된 정보는 계약 번호순으로 정렬됩니다.

다음 예제는 계약 번호가 표시되는 모든 지불에 대한 데이터를 표시합니다.

mysql join

하위 쿼리 사용

앞서 언급했듯이 데이터베이스 작업데이터는 테이블뿐만 아니라 쿼리와 함께 결합 될 수 있습니다. 이 디자인은 주로 쿼리 및 최적화를 가속화하는 데 사용됩니다.

예를 들어, 필요한 경우 테이블에서수백 개의 필드를 가지고 있고, 말하자면 1000 개의 레코드를 가지고 있고, 두 개의 필드만을 선택하면, 필요한 필드 만 리턴하고이를 주 데이터 샘플과 결합하는 쿼리를 사용해야합니다. MySQL Join Select의 예로서 다음과 같은 유형의 쿼리를 고려할 수 있습니다.

mysql join

이것들은 모두 표준을 사용하지는 않습니다.MySQL은 구성하지만 표준 구성 만 포함합니다. Join 구조체를 사용하는 방법과 프로그래머가 직접 결정하는 형식은 무엇입니까?하지만 쿼리를 실행할 때 어떤 결과를 얻어야하는지 기억하고 고려해야합니다.

관련 뉴스