Các loại THAM GIA MySQL

Một lượng lớn dữ liệu thường được lưu trữ trong cơ sở dữ liệu MySQL. Các nhà phân tích và DBA liên tục được yêu cầu trích xuất các bản ghi từ hai hoặc nhiều bảng dựa trên các yêu cầu cụ thể để đánh giá dữ liệu đó một cách nhanh chóng. Đây là lúc THAM GIA có ích

một năm trước   •   5 phút đọc

Bằng cách ban phước cho krofegha

Mục lục

Giới thiệu

Trong một truy vấn duy nhất, THAM GIA được sử dụng để lấy dữ liệu từ một số bảng. Trong MySQL, THAM GIA tổng hợp dữ liệu từ một số bảng và lấy dữ liệu đó dưới dạng một kết quả duy nhất. Mỗi bảng trong cơ sở dữ liệu quan hệ bao gồm dữ liệu chung hoặc duy nhất và mỗi bảng được kết nối một cách hợp lý. THAM GIA được sử dụng để lấy dữ liệu từ các bảng chia sẻ một trường chung

THAM GIA trong MySQL là gì?

Trong MySQL, câu lệnh

INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
3 là một kỹ thuật kết nối dữ liệu giữa một số bảng trong cơ sở dữ liệu dựa trên giá trị của các trường phổ biến trong các bảng đó. Tên cột và kiểu dữ liệu giống nhau thường xuất hiện trong các bảng được liên kết dưới dạng các giá trị chung. Khóa tham gia hoặc khóa chung đề cập đến các cột được chia sẻ. Các lệnh
INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
4,
INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
0 và
INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
1 đều có thể sử dụng THAM GIA

Bắt đầu với THAM GIA

Loại THAM GIA MySQL chỉ định cách hai bảng trong một truy vấn được liên kết. INNER JOIN, OUTER JOIN, và CROSS JOIN là ba loại mệnh đề THAM GIA được hỗ trợ bởi MySQL. LEFT JOIN và RIGHT JOIN là hai loại OUTER JOIN khác nhau. Để hiển thị cách THAM GIA hoạt động trực quan hơn, chúng ta cần tạo một lược đồ mới và chèn một số dữ liệu mẫu

CREATE TABLE Users [
    UserID int,
    UserName varchar[255],
    Password varchar[255],
    isActive boolean
];

CREATE TABLE Userprofile [
    ProfileID int,
    LastName varchar[255],
    FirstName varchar[255],
    Email varchar[255],
    Phone varchar[255]
];

Điều tiếp theo chúng ta sẽ làm là chèn một số dữ liệu vào đó. Bạn có thể chèn bao nhiêu người dùng vào bảng tùy thích

INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];

Điều khoản THAM GIA INNER của MySQL

Chỉ các bản ghi phù hợp phổ biến được truy xuất bằng cách sử dụng INNER JOINS. Mệnh đề INNER JOIN hạn chế truy xuất bản ghi từ Bảng A và Bảng B đối với những bản ghi đáp ứng yêu cầu tham gia. Đây là loại THAM GIA thường được sử dụng nhất. Kiểm tra sơ đồ Venn bên dưới để hiểu rõ hơn về INNER THAM GIA

MySQL INNER THAM GIA

Đây là cú pháp cho MySQL INNER JOIN

SELECT 
	columns
FROM 
	tableA 
INNER JOIN tableB
	ON tableA.column = tableB.column;
MySQL INNER THAM GIA trong Arctype

THAM GIA BÊN NGOÀI MySQL

OUTER THAM GIA, trái ngược với INNER THAM GIA, tạo ra các bản ghi không khớp cũng như các hàng khớp. Nếu các hàng trong bảng được kết nối không khớp, giá trị NULL sẽ được hiển thị. MySQL có hai dạng OUTER THAM GIA khác nhau. MySQL TRÁI THAM GIA và MySQL PHẢI THAM GIA. Hãy xem xét từng người trong số họ chi tiết hơn

Mệnh đề THAM GIA TRÁI của MySQL

THAM GIA TRÁI cho phép bạn nhận tất cả các mục từ Bảng A và các mục từ Bảng B đáp ứng tiêu chí tham gia. Giá trị NULL được hiển thị cho các bản ghi từ Bảng A không phù hợp với tiêu chí. Kiểm tra biểu đồ Venn bên dưới để hiểu rõ hơn về LEFT JOINS

MySQL TRÁI THAM GIA

Đây là cú pháp cho MySQL LEFT JOIN

SELECT 
	columns
FROM 
	tableA
LEFT JOIN tableB
	ON tableA.column = tableB.column;
MySQL TRÁI THAM GIA trong Arctype cho MySQL

Ghi chú. Từ khóa

INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
2 trả về tất cả các bản ghi từ bảng bên trái [Khách hàng], ngay cả khi không có kết quả nào trong bảng bên phải [Đơn hàng]

Mệnh đề THAM GIA QUYỀN của MySQL

Do đó, RIGHT THAM GIA cho phép bạn nhận tất cả các mục từ Bảng B và những mục từ Bảng A đáp ứng tiêu chí tham gia. Các giá trị NULL được trình bày cho các bản ghi từ Bảng B không phù hợp với tiêu chí. Để hiểu rõ hơn về RIGHT JOINS, hãy xem sơ đồ Venn bên dưới

MySQL QUYỀN THAM GIA

Đây là cú pháp cho MySQL RIGHT JOIN

SELECT 
	columns
FROM 
	tableA
RIGHT JOIN tableB
	ON tableA.column = tableB.column;
MySQL QUYỀN THAM GIA trong Arctype cho MySQL

Ghi chú. Từ khóa

INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
3 trả về tất cả các bản ghi từ bảng bên phải [Nhân viên], ngay cả khi không có kết quả nào trong bảng bên trái [Đơn hàng]

Điều khoản CROSS JOIN của MySQL

MySQL CROSS JOIN, thường được gọi là phép nối cartesian, trả về tất cả các kết hợp hàng có thể có từ mỗi bảng. Nếu không có điều kiện bổ sung nào được cung cấp, tập kết quả thu được bằng cách nhân từng hàng của bảng A với tất cả các hàng trong bảng B. Kiểm tra sơ đồ Venn bên dưới để tìm hiểu thêm về CROSS JOINS

THAM GIA CHÉO MySQL

Khi nào bạn nghĩ rằng bạn sẽ cần loại THAM GIA đó? . Trong trường hợp đó, một CROSS THAM GIA sẽ khá hữu ích

Ghi chú.

INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
4 có thể dẫn đến tập hợp kết quả khá lớn

Đây là cú pháp cho MySQL CROSS JOIN

INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
0
MYSQL CHÉO THAM GIA Bằng Arctype

Lời khuyên để THAM GIA

Trong MySQL, THAM GIA cho phép bạn thực hiện một truy vấn THAM GIA duy nhất thay vì nhiều truy vấn đơn giản. Do đó, bạn sẽ nhận được tốc độ được cải thiện, chi phí máy chủ thấp hơn và ít chuyển dữ liệu hơn giữa MySQL và ứng dụng của bạn. Không giống như SQL Server, MySQL không có kiểu THAM GIA riêng biệt cho FULL OUTER JOIN. Tuy nhiên, bạn có thể kết hợp LEFT OUTER JOIN và RIGHT OUTER JOIN để có hiệu ứng tương tự như FULL OUTER JOIN

INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
1
MySQL FULL OUTER THAM GIA

Sử dụng MySQL THAM GIA, bạn cũng có thể tham gia nhiều hơn hai bảng

INSERT INTO Users
	[UserID, UserName,Password, isActive]
VALUES
	[1,'krofax','krofax1234', true];

INSERT INTO userprofile
	[profileid, lastname, firstname, email, phone]
VALUES
	[1,'Ada', 'George', 'adageorge@gmail.com','1290003456'];
2
MYSQL FULL THAM GIA Sử dụng Arctype

Tại sao THAM GIA hữu ích?

  • Nó nhanh hơn rất nhiều. Trong một truy vấn duy nhất, THAM GIA cho phép bạn lấy dữ liệu từ hai hoặc nhiều bảng cơ sở dữ liệu được liên kết. THAM GIA rất có giá trị vì chúng tiết kiệm thời gian khi chạy từng truy vấn một để đạt được kết quả tương tự
  • MySQL hiệu quả hơn. Một ưu điểm khác của việc sử dụng THAM GIA là MySQL hoạt động tốt hơn vì các phép nối được thực hiện thông qua lập chỉ mục
  • Sử dụng THAM GIA làm giảm tải máy chủ. Bởi vì bạn thực hiện một truy vấn, bạn sẽ nhận được kết quả tốt hơn và nhanh hơn
Sự kết luận

Bất kỳ nhà phân tích hoặc DBA nào cũng phải nắm chắc về JOIN và sử dụng chúng một cách tự do trong công việc hàng ngày của họ. Đây là lúc Arctype cho MySQL có ích. Ngay cả đối với các mệnh đề THAM GIA phức tạp, quá trình hoàn thành mã tinh vi của nó vẫn hoạt động hoàn hảo. Arctype cho MySQL sẽ cung cấp cho bạn một mệnh đề THAM GIA đầy đủ, vì vậy bạn sẽ không phải ghi nhớ hàng trăm tên cột hoặc bí danh. Khả năng giàu tính năng của nó giúp tạo các truy vấn phức tạp và quản lý các điều kiện THAM GIA một cách dễ dàng

Có bao nhiêu loại tham gia trong MySQL?

ba kiểu kết nối MySQL. MySQL INNER JOIN [hoặc đôi khi được gọi là tham gia đơn giản] MySQL LEFT OUTER JOIN [hoặc đôi khi được gọi là LEFT JOIN] MySQL RIGHT OUTER JOIN [hoặc đôi khi được gọi là RIGHT JOIN]

Các phép nối trong MySQL là gì?

MySQL THAM GIA được sử dụng để lấy dữ liệu từ nhiều bảng. THAM GIA MySQL được thực hiện bất cứ khi nào hai hoặc nhiều bảng được nối trong một câu lệnh SQL. Có nhiều kiểu kết nối MySQL khác nhau. MySQL INNER THAM GIA [hoặc đôi khi được gọi là tham gia đơn giản]

Ba loại liên kết là gì?

Về cơ bản, chúng tôi chỉ có ba loại liên kết. Nối trong, nối ngoài và nối chéo . Chúng tôi sử dụng bất kỳ trong ba THAM GIA này để tham gia một bảng với chính nó.

Sáu loại nối là gì?

Các loại THAM GIA khác nhau trong SQL Server .
THAM GIA BÊN TRONG
TRÁI NGOÀI THAM GIA
RIGHT NGOÀI THAM GIA
TỰ THAM GIA
THAM GIA CHÉO

Chủ Đề