Hướng dẫn tự tham gia MySQL. Ở đây chúng ta thảo luận về phần giới thiệu, ví dụ và cách MySQL Self Join hoạt động với mã và đầu ra phù hợp?

Bạn đang xem : cách tự tham gia vào lớp mysql

MySQL Self Join

Giới thiệu về MySQL Self Join

MySQL Self JOIN là một câu lệnh SQL được sử dụng để cắt hoặc nối một bảng trong cơ sở dữ liệu với chính nó. Về cơ bản, một hàm JOIN kết hợp hai hoặc nhiều bảng trong SQL, nhưng ở đây Self Join là một phép nối thông thường cho phép kết hợp các bản ghi trong một bảng dựa trên một biểu thức điều kiện nhất định. Kiểu kết hợp các bản ghi với các bản ghi khác trong cùng một bảng khi một điều kiện được so khớp cũng được gọi là mối quan hệ đơn nguyên. Đặc biệt, ở đây Khóa ngoài tồn tại trong bảng đề cập đến Khóa chính của chính bảng đó.

Điều này có nghĩa là một hàng trong bảng sẽ kết hợp với mọi hàng khác theo một điều kiện và quá trình này được truy vấn bằng một lệnh SQL Self-Join . Tự kết hợp trong MySQL này là một loại kết hợp đặc biệt hữu ích để truy vấn dữ liệu phân cấp và so sánh các bản ghi trong các hàng trong bảng. Trong truy vấn câu lệnh SQL, chúng tôi sử dụng các điều khoản nối bên trong hoặc nối bên trái với liên kết tự để trả về tập kết quả sử dụng bất kỳ điều kiện nào thỏa mãn. Điều này là do rất khó để tham chiếu nhiều hơn một truy vấn cho cùng một bảng. Vì vậy, chúng ta phải sử dụng bí danh bảng khác để thêm tên khác cho bảng khi chúng ta sử dụng Self Join trong MySQL, nếu không truy vấn sẽ hiển thị lỗi khi được thực thi.

Bắt đầu Khóa học Khoa học Dữ liệu Miễn phí của bạn

Hadoop, Khoa học Dữ liệu, Thống kê & amp; những người khác

Cú pháp:

Sau đây là cú pháp cơ bản của truy vấn Tự kết hợp trong MySQL:

CHỌN A.Column_Name, B.Column_Name,… .FROM TableA T1, TableA T2 WHERE A.Common_Field = B.Common_Field;

Ở đây, T1 và T2 là hai bí danh được sử dụng cho cùng một bảng có tên là Bảng A trong cơ sở dữ liệu và mệnh đề WHERE biểu thị bất kỳ biểu thức điều kiện nào đã cho.

MySQL Self Join hoạt động như thế nào?

  • Trong MySQL, Self-Join rất quan trọng để truy vấn dữ liệu có thứ tự bằng cách so sánh các hàng trong cùng một bảng. Truy vấn SQL cho Tự kết hợp được áp dụng trong một bảng cho chính nó hiển thị như thể có hai bảng sử dụng tên tạm thời làm bí danh cho cùng một bảng trong câu lệnh SQL.
  • Do đó, ứng dụng chính của truy vấn này trong MySQL là khi chúng ta có một hàng dữ liệu tham chiếu bảng trong chính nó. Giả sử, chúng ta có một bảng có tên Nhân viên và có một cột Người giám sát_ID đề cập đến nhân viên là người đứng đầu của các nhân viên hiện tại trong bất kỳ công ty cụ thể nào.
  • Do đó, có một yêu cầu về mối quan hệ bất kỳ giữa dữ liệu hàng được lưu trữ trong bảng để áp dụng Tự kết hợp trong MySQL trong cùng một bảng.
  • Hãy để chúng tôi xem xét một bảng có tên Người với các cột (ID người, Tên, Liên hệ, Địa chỉ, Thành phố).
  • Giả sử, chúng ta muốn so khớp những người đến từ cùng một thành phố trong bảng, chúng ta sử dụng lệnh SQL Statement for Self-Join sau đây trong MySQL:
Xem Thêm  Options · blueimp/jQuery-File-Upload Wiki - jquery append

CHỌN A.Tên AS Name1, B.Name AS Name2, A. Thành phố TỪ Người A, Người B Ở ĐÂU A.PersonID & lt; & gt; B.PersonID AND A.City = B.ĐƠN ĐẶT HÀNG CỦA A.City;

Ví dụ về MySQL Self Join

Dưới đây là các ví dụ về MySQL self Join: Chúng ta hãy xem xét một bảng có tên là People.

Ví dụ # 1 – MySQL Tự tham gia sử dụng Mệnh đề kết hợp bên trong

Hãy để chúng tôi tạo một bảng Người và chèn một số dữ liệu làm mẫu để thực hiện truy vấn trên chúng bằng cách sử dụng Tự kết hợp trong MYSQL với các lệnh SQL sau:

TẠO BẢNG Người (PersonID int NOT NULL PRIMARY KEY, LastName varchar (255) NOT NULL, FirstName varchar (255), ReportsTo int, Title varchar (255));

Đầu ra:

MySQL Self Join - 1

Bây giờ, hãy để chúng tôi tìm nạp toàn bộ chi tiết cấu trúc tổ chức. Chúng tôi đang tham gia bảng Person với chính nó dựa trên cột PersonID và ReportsTo từ bảng xác định chức danh công việc với nhân viên.

SELECT CONCAT (a.LastName, ',', a.FirstName) AS Manager, CONCAT (b.LastName, ',', b.FirstName) AS 'Báo cáo trực tiếp' TỪ người b Người tham gia INNER a BẬT a.PersonID = b.Báo cáoĐể ĐẶT HÀNG BỞI Người quản lý;

Đầu ra:

MySQL Self Join - 2

Tập hợp kết quả sẽ xác định bảng Người có hai vai trò khác nhau: “Người quản lý” và “Báo cáo trực tiếp” và chỉ những nhân viên có người quản lý. Tuy nhiên, “Tiếp thị” không được hiển thị vì tên được lọc ra bởi mệnh đề Kết hợp bên trong vì cột Báo cáo cho là NULL và không có giá trị nào phù hợp với điều kiện được áp dụng.

Ví dụ # 2 – MySQL Tự tham gia sử dụng Mệnh đề kết hợp trái

Vì người có tiêu đề Tiếp thị không có Người quản lý và không được bao gồm trong bộ kết quả ở trên nhưng trong Kết quả bên trái, chúng tôi có thể hiển thị nó ngay cả khi nó không có giá trị đối với Người quản lý.

SELECT IFNULL (CONCAT (a.LastName, ',', a.FirstName), 'Top Manager') AS 'Manager', CONCAT (b.LastName, ',', b.FirstName) AS ' Báo cáo trực tiếp 'TỪ Người b Người THAM GIA TRÁI Người a BẬT a.PersonID = b.Báo cáoĐể ĐẶT HÀNG BỞI Người quản lý DESC;

Đầu ra:

Điều khoản tham gia bên trái

Tại đây, nhân viên Tiếp thị được cung cấp ‘Người quản lý hàng đầu’ là ‘Người quản lý’ vì giá trị của Báo cáo Tới là NULL.

Ví dụ # 3 – Sử dụng MySQL Self Join để so sánh các hàng liên tiếp

Ví dụ: chúng ta hãy sử dụng Self Join trong MySQL để tìm nạp các hàng bằng cách so sánh các bản ghi trong cùng một bảng. Hãy để chúng tôi xem xét một bảng khác có tên là ‘Customer_Data’ với các trường (ID, tên, Tuổi, Địa chỉ, Mức lương) cho truy vấn SQL này:

so sánh kế tiếp

Câu lệnh SQL như sau:

CHỌN k.ID, l.Name, k.Salary FROM customer_data k, customer_data l WHERE k.Salary & lt; l.Salary;

Đầu ra:

MySQL Self Join - 5

Ví dụ # 4 – Sử dụng MySQL Self Join với Inner Join để so sánh các hàng liên tiếp

Chúng tôi đã lấy bảng ‘Khách hàng’ với các trường (CustomerID, Tên, Số khách hàng, Thanh toán_mục đích, Số tiền, Thành phố) làm ví dụ hoặc bảng mẫu để chạy truy vấn bằng cách sử dụng Tự kết hợp và so sánh các hàng trong bảng.

rows

Tại đây, danh sách những người từ bảng Khách hàng được tìm nạp, những người ở trong cùng một thành phố bằng cách nối bảng với chính nó và sử dụng các toán tử so sánh như & lt;, & gt; và = cho cột Thành phố.

CHỌN c1.city, c1.Name, c2.Name TỪ khách hàng c1 INNER THAM GIA khách hàng c2 TRÊN c1.city = c2.city VÀ c1.Name & gt; c2.Tên ĐẶT HÀNG THEO c1.city;

Đầu ra:

MySQL Self Join - 7

Bạn có thể thấy ở bảng kết quả một cột thành phố và hai cột Tên chứa các tên khác nhau của những khách hàng sống ở cùng một địa điểm hoặc thành phố bằng cách sử dụng các điều kiện Tham gia trong đó:

  • city = c2.city đảm bảo rằng cả hai khách hàng đều có cùng một thành phố.
  • Tên & gt; c2.Tên ĐẶT HÀNG BẰNG c1.city kiểm tra xem không có cùng tên của khách hàng nào được đưa vào các hàng kết quả.

Do đó, tương tự như vậy, chúng tôi có thể áp dụng nó để tìm nạp kết quả từ cùng một bảng dưới các vị từ kết hợp nhất định và sử dụng các phép nối Bên trong hoặc Bên trái cũng như các toán tử so sánh để truy vấn dữ liệu chính xác từ bảng trong cơ sở dữ liệu.

Kết luận

Do đó, chúng ta có thể nói rằng một Self-Join trong MySQL tự nhận một “Selfie” nhưng tạo ra kết quả coi bảng là hai bằng cách sử dụng bí danh để tên bảng không bị lặp lại hai lần, điều này có thể tạo ra lỗi. Loại phép nối thông thường này hữu ích cho việc lập mô hình biểu mẫu dữ liệu cấu trúc có tổ chức từ một bảng và cũng cho phép so sánh các hàng và không cần thiết để tạo ra kết quả cần thiết.

Các bài báo được đề xuất

Đây là hướng dẫn về MySQL Self Join. Ở đây chúng ta thảo luận về phần giới thiệu, ví dụ và cách MySQL Self Join hoạt động với mã và đầu ra phù hợp? Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

0

Chia sẻ

Chia sẻ


Xem thêm những thông tin liên quan đến chủ đề làm thế nào để tự tham gia vào mysql

Microsoft Access as front-end of MySQL

alt

  • Tác giả: Edcelle John Gulfan
  • Ngày đăng: 2021-11-26
  • Đánh giá: 4 ⭐ ( 4892 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: In this video, you can find a solution for 2GB maximum storage capacity of microsoft access database.

    You will learn on how to create a link table between microsoft access and MySql

    Part 1. How to Export Microsoft access database to mysql : https://youtu.be/6T1TvSoD_UE

    How to download MySql ODBC Connector?
    https://youtu.be/qs4CxTtpNOY

    How to download MySql Workbench?
    https://youtu.be/K6iGaZn-2qI

    KEYWORDS:
    How to connect microsoft access to mysql server,
    how to connect ms access to mysql server using odbc connector,
    how to migrate microsoft access database to mysql server,
    mysql workbench,
    mysql server,
    mysql connector,
    how to set mysql as back-end of ms access,
    how to create backend in ms access,
    microsoft access tutorial
    mysql tutorial for beginners,
    how to export microsoft access to mysql database,
    access tutorial for beginners,

    microsoftaccess mstutorial mysqlserver microsoftaccesstutorial mysqlworkbench

Prepared Statements trong MySQL

  • Tác giả: laptrinhvienphp.com
  • Đánh giá: 3 ⭐ ( 4669 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Prepared Statement (còn được gọi là câu lệnh được tham số hóa) chỉ đơn giản là một mẫu truy vấn SQL có chứa trình giữ chỗ thay vì các giá trị tham số thực tế.

Xóa bằng Tham gia vào MySQL

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 6917 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Bạn chỉ cần xác định rằng bạn muốn xóa các mục từ postsbảng: DELETE posts FROM…

Hướng dẫn cách kết nối đến Database MySQL trong Eclipse

  • Tác giả: blogchiasekienthuc.com
  • Đánh giá: 5 ⭐ ( 6146 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn kết nối đến Database MySQL trong Eclipse, giúp bạn kết nối đến hệ quản trị cơ sở dữ liệu MySQL Server để thao tác với dữ liệu trực tiếp trên IDE thay vì sử dụng thêm công cụ MySQL Workbench

Top 20 Lý do bạn nên tham gia các hoạt động tình nguyện

  • Tác giả: toplist.vn
  • Đánh giá: 4 ⭐ ( 8161 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Những hoạt động tình nguyện đang ngày càng phổ biến hơn trong đời sống hiện nay. Bởi thế giới càng hiện đại thì lại càng có không ít người rơi vào cảnh cùng cực, thiếu thốn. Vì thế, những hoạt động, chiến dịch tình nguyện được tổ chức nhằm đem đến sự giúp đỡ cho những hoàn cảnh khó khăn ấy. Bên cạnh đó, những người tham gia làm tình nguyện còn có cơ hội thu thập những kinh nghiệm thực tiễn quý báu, cải thiện chính bản thân mình. Tại sao lại như vậy? Những lợi ích mà hoạt động tình nguyện mang lại được nêu trong bài viết dưới đây sẽ là câu trả lời thỏa đáng nhất cho bạn.: Bạn sẽ thay đổi cuộc đời người khác và chính bạn, Người khác cần những kỹ năng mà bạn có, Bạn sẽ khám phá được sức mạnh của tình đoàn kết, Quan niệm của bạn về thế giới xung quanh sẽ thay đổi, Bạn sẽ gây ảnh hưởng cho những người xung quanh, Bạn sẽ gặp gỡ những con người “khác thường” mà thú vị, Bạn sẽ cảm thấy kết nối với một cái gì đó lớn lao hơn, Bạn sẽ góp phần vào việc cứu thế giới, Bạn sẽ có một “HAPPY ENDING”, Mở rộng mạng lưới, giao thiệp với mọi người, Cơ hội việc làm, Phát triển kinh nghiệm, Kiếm tìm hướng đi, Mở rộng tầm nhìn, Giúp đỡ người khác, Mục đích sống trở nên rõ ràng và tích cực hơn, Rèn luyện kỹ năng sống, Giúp mọi người xích lại gần nhau, Giúp bạn tìm ra sở thích mới, Tạo sự tin cậy với gia đình, thầy cô và bạn bè,

So sánh PDO và Mysqli. Khái niệm và những thao tác cơ bản của PDO

  • Tác giả: dotnet.edu.vn
  • Đánh giá: 5 ⭐ ( 2473 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Nếu bạn là một PHP Developer, chắc hẳn bạn đã rất quen thuộc với việc truy xuất Database (Cơ sở dữ liệu) bằng các extensions MySQL và MySQLi. Từ PHP 5.1 ta có một cách thức tối ưu hơn đó là sử dụng PHP Data Objects. PDO cung cấp các cơ chế Prepared Statements, Stored Procedures và giúp bạn thao tác với database thông qua các Object (đối tượng) làm cho công việc trở nên hiệu quả, dễ dàng hơn.

Cách thức tham gia đầu tư quỹ mở

  • Tác giả: www.manulife.com.vn
  • Đánh giá: 5 ⭐ ( 5949 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Đầu tư vào chứng chỉ quỹ mở là hình thức mà người tham gia được quỹ đầu tư hỗ trợ và quản lý nguồn vốn. Vậy làm sao để có thể đầu tư vào quỹ mở?

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php