MySQL 조인 유형 | MySQL 조인 [구문 포함]
게시 됨: 2020-12-09목차
소개
MySQL은 Oracle에서 지원하는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. MySQL은 공동 설립자 Michael Widenius의 딸 이름인 "My"와 Structured Query Language의 약어인 "SQL"의 두 단어로 구성됩니다.
RDBMS의 Relational이라는 단어는 MySQL에서 JOINS가 작동하는 기본 요소입니다. 모든 데이터베이스에는 많은 유형과 수의 테이블이 있을 수 있습니다. JOINS라는 이름은 공통 열을 사용하여 링크 테이블을 함께 제안합니다. 한 가지 기본적인 예는 표 1에 직원 세부 정보가 있고 표 2에 프로젝트 세부 정보가 있다는 것입니다.
직원이 관련된 프로젝트를 확인해야 하는 경우 직원 이름 또는 직원 ID로 테이블을 조인할 수 있으므로 테이블을 조인하고 필요한 모든 정보를 사용하여 새 가상 테이블(저장 가능)에 액세스할 수 있습니다. .
특징
- MySQL은 오픈 소스이며 테이블의 레코드에 액세스하고 관리하기 위한 적절한 RDBMS입니다.
- 데이터베이스 관리 분야에서 매우 일반적으로 사용되는 SQL 코딩 언어를 지원합니다.
- MySQL은 기본적이고 사용하기 쉽습니다. 누군가가 특정 문제에 갇힌 경우 엄청난 양의 문서가 있습니다.
- MySQL에는 매우 강력한 보안 계층이 있습니다. 암호는 암호화되어 있으므로 민감한 데이터는 침입자로부터 안전합니다.
- MySQL은 멀티 스레딩을 지원하기 때문에 확장 가능합니다. 멀티 스레딩은 테이블의 크기가 매우 크더라도 빠른 쿼리 실행 및 데이터 조작을 담당합니다.
- MySQL에는 클라이언트/서버 아키텍처가 있습니다. 데이터베이스 서버와 서버에 연결된 많은 클라이언트(응용 프로그램)가 있습니다.
조인 유형
내부 조인
내부 조인은 MySQL의 기본 조인 유형입니다. 두 테이블에서 일치하는 레코드를 결합하고 반환합니다. 한 테이블의 각 행을 다른 테이블과 비교하고 조인 조건을 확인합니다. 조건이 충족되면 두 테이블의 열로 새 행이 생성되고 이 새 행이 출력에 포함됩니다.
코드 조각:
선택 t1 . emp_id , t1.emp_name, t2.project_name

FROM 직원을 t1으로
INNER JOIN 프로젝트 as t2
ON t1.project_id = t2 . 프로젝트 아이디
이 쿼리에는 두 개의 테이블이 있습니다. 첫 번째 테이블은 직원의 세부 정보로 구성되고 두 번째 테이블은 현재 진행 중인 모든 프로젝트로 구성됩니다. 위의 쿼리를 실행한 후 MySQL은 모든 직원을 해당 프로젝트 세부 정보와 함께 반환합니다. 여기서 project_id 열은 직원 테이블의 외래 키이고 프로젝트 테이블의 기본 키입니다. project_id가 없는 직원 또는 직원이 없는 project_id는 반환되지 않습니다.
왼쪽 조인
왼쪽 조인, 조인 및 두 테이블의 일치하는 레코드와 첫 번째 테이블의 일치하지 않는 레코드를 반환합니다. 왼쪽 조인은 기본적으로 첫 번째 테이블에서 내부 조인 + 일치하지 않는 레코드의 출력을 반환합니다. 이러한 일치하지 않는 행에는 테이블 2의 열도 있지만 일치하는 데이터가 없기 때문에 해당 열의 값은 null이 됩니다.
코드 조각:
선택 t1 . emp_id , t1.emp_name, t2.project_name

FROM 직원을 t1으로
LEFT JOIN 프로젝트를 t2로
ON t1.project_id = t2 . 프로젝트 아이디
이 쿼리에는 두 개의 테이블이 있습니다. 첫 번째 테이블은 직원의 세부 정보로 구성되고 두 번째 테이블은 현재 진행 중인 모든 프로젝트로 구성됩니다. 위의 쿼리를 실행한 후 MySQL은 해당 프로젝트 세부 정보와 함께 모든 직원을 반환하고 project_id가 할당되지 않은 직원 세부 정보도 반환합니다. 여기서 project_id 열은 직원 테이블의 외래 키이고 프로젝트 테이블의 기본 키입니다.
읽기: SQL에서 열 이름 바꾸기
오른쪽 조인
오른쪽 조인은 왼쪽 조인과 매우 유사하지만 이제 두 번째 테이블의 일치하지 않는 레코드가 출력에 포함되고 첫 번째 테이블의 일치하는 레코드만 출력에 포함됩니다.
코드 조각:
선택 t1 . emp_id , t1.emp_name, t2.project_name
FROM 직원을 t1으로
RIGHT JOIN 프로젝트를 t2로
ON t1.project_id = t2 . 프로젝트 아이디
위의 쿼리를 실행한 후 MySQL은 해당 프로젝트 세부 정보와 일치하는 직원이 없는 프로젝트 세부 정보와 함께 모든 직원을 반환합니다. 이러한 경우 직원 세부 정보 열은 NULL이 됩니다.
전체 조인
이름에서 알 수 있듯이 전체 조인은 일치하는 레코드와 일치하지 않는 모든 레코드를 반환합니다. MySQL이 원하는 열에서 일치하는 행을 찾을 수 있으면 해당 레코드가 일치합니다. 나머지 행은 NULL 값을 갖습니다.
코드 조각:
선택 *
FROM 직원을 t1으로
t2로 FULL OUTER JOIN 프로젝트
ON t1.project_id = t2 . 프로젝트 아이디
위의 쿼리를 실행한 후 MySQL은 해당 프로젝트 세부 정보와 함께 모든 직원을 반환하고 프로젝트가 없는 직원과 일치하는 직원이 없는 프로젝트에 대한 세부 정보도 반환합니다. 특정 열은 그에 따라 NULL 값을 갖습니다.
교차 조인
이름에서 알 수 있듯이 교차 조인은 테이블 1의 각 행을 테이블 2의 모든 행과 조인합니다. 일치하는 열에 관계없이. 따라서 각 테이블에 5개의 레코드가 있는 경우 모든 행이 다른 행과 일치하므로 출력에는 25개의 행이 있습니다.
코드 조각:
선택 *
FROM 직원을 t1으로
CROSS JOIN 프로젝트를 t2로

위의 쿼리를 실행한 후 MySQL은 모든 프로젝트 세부 정보와 함께 모든 직원을 반환합니다. 이 정보를 시각화하는 것은 그다지 의미가 없지만 교차 조인은 중요하고 일부 특별하고 특정한 경우에 필요합니다.
또한 읽기: SQL 인터뷰 질문 및 답변
세계 최고의 대학 에서 소프트웨어 엔지니어링 과정 에 등록하십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
결론
JOINS는 데이터 추출의 중요한 부분입니다. 사용자의 필요에 따라 다양한 테이블의 데이터를 결합하는 데 도움이 됩니다. JOINS의 유일한 단점은 때때로 작성하기가 복잡해진다는 것입니다. 결국 JOINS는 매우 유용하며 MySQL에서 다양한 유형의 조인을 구현할 수 있습니다.
대체로 이 기사에서 언급한 모든 데이터베이스에 대해 배우고 실습하면 경험이 더해질 것입니다. 관련된 과정 개요, 학습 및 취업 기회를 살펴보십시오. upGrad와 같은 플랫폼은 Executive PG Program Full Stack Development에서 IIIT-B와 같은 유명 기관에서 설계한 강력한 과정을 제공합니다.

