Mệnh đề Intersect trong SQL Server là gì?
Bạn có biết sự khác biệt giữa mệnh đề INTERSECT và MINUS của SQL và cách sử dụng chúng không? Show
SQL SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 và SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 là các mệnh đề hữu ích để tìm nhanh sự khác biệt giữa hai bảng và tìm các hàng mà chúng chia sẻ SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 so sánh dữ liệu giữa các bảng và chỉ trả về các hàng dữ liệu tồn tại trong cả hai bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 so sánh dữ liệu giữa các bảng và trả về các hàng dữ liệu chỉ tồn tại trong bảng đầu tiên mà bạn chỉ định Cả SQL SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 và SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 (hoặc SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]9, tùy thuộc vào phương ngữ SQL của bạn) đều là một phần của LearnSQL. khóa học Cơ bản về SQL của com GIAO DIỆN SQLToán tử SQL SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 được sử dụng để trả về kết quả của hai hoặc nhiều câu lệnh SELECT country FROM customers INTERSECT SELECT country FROM suppliers1. Tuy nhiên, nó chỉ trả về các hàng được chọn bởi tất cả các truy vấn hoặc tập dữ liệu. Nếu một bản ghi tồn tại trong một truy vấn và không tồn tại trong truy vấn kia, nó sẽ bị loại khỏi kết quả SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 Số lượng và thứ tự của các cột phải giống nhau trong tất cả các truy vấn SELECT country FROM customers INTERSECT SELECT country FROM suppliers1 Các kiểu dữ liệu cột phải giống nhau hoặc ít nhất là tương thích với nhau. SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 lọc các bản sao và chỉ trả về các hàng riêng biệt phổ biến giữa tất cả các truy vấn Đây là cú pháp của toán tử SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 Bất cứ điều gì bên trong dấu ngoặc vuông là hoàn toàn tùy chọn. Khái niệm về một SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 được giải thích thêm bằng sơ đồ sau Truy vấn SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 sẽ trả về các bản ghi trong vùng được tô bóng. Đây là những bản ghi tồn tại trong cả hai tập dữ liệu SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 chỉ là một cách hợp nhất kết quả của các truy vấn SQL khác nhau. Nếu bạn muốn tìm hiểu thêm, bài viết này đề cập đến các phương pháp khác nhau để kết hợp kết quả của các truy vấn SQL SQL TRỪMệnh đề SQL SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 được sử dụng để kết hợp hai câu lệnh SELECT country FROM customers INTERSECT SELECT country FROM suppliers1, nhưng nó trả về các hàng từ câu lệnh SELECT country FROM customers INTERSECT SELECT country FROM suppliers1 đầu tiên không được trả về bởi câu lệnh SELECT country FROM customers INTERSECT SELECT country FROM suppliers1 thứ hai. SQL SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 chỉ trả về các hàng không có trong câu lệnh SELECT country FROM customers INTERSECT SELECT country FROM suppliers1 thứ hai Mỗi câu lệnh SELECT country FROM customers INTERSECT SELECT country FROM suppliers1 trong truy vấn SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 phải chứa cùng một số trường trong tập kết quả cùng với các loại dữ liệu tương tự Toán tử SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 không được hỗ trợ trong tất cả các cơ sở dữ liệu SQL. Nó có thể được sử dụng trong các cơ sở dữ liệu như MySQL và Oracle. Đối với các cơ sở dữ liệu như SQL Server, PostgreSQL và SQLite, hãy sử dụng toán tử SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]9 để thực hiện loại truy vấn này SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] Mã SQL hiển thị trong ngoặc vuông là hoàn toàn tùy chọn. Khái niệm về SQL SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 được giải thích thêm bằng sơ đồ này Truy vấn SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 sẽ trả về các bản ghi trong vùng màu đỏ. Đây là những bản ghi tồn tại trong tập dữ liệu đầu tiên chứ không phải thứ hai TRỪ so với. GIAO NHAU. ví dụHãy áp dụng mệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 và SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 vào một ví dụ thực tế. Hãy tưởng tượng chúng ta có các bảng sau SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]23 - Chứa thông tin chi tiết về khách hàng của chúng tôiidcustomer_namecountry1Infotech SolutionsĐức2Corpway IndustriesIreland3Fenway IncAnh4Fairview LtdPháp SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]24 - Chứa thông tin chi tiết về các nhà cung cấp của chúng tôiidcustomer_namecountry1Các nhà cung cấp Carbon WayTây Ban Nha2Alloy IncPháp3Materials Delivered LtdIreland4Đội bê tôngBa Lan5Conglorito SystemsÝ Bây giờ hãy viết một truy vấn SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3. Chúng tôi muốn tìm các quốc gia mà nhà cung cấp và khách hàng của chúng tôi có điểm chung________số 8 Chúng tôi chỉ định cột quốc gia trong mỗi mệnh đề SELECT country FROM customers INTERSECT SELECT country FROM suppliers1. Thực hiện truy vấn này dẫn đến tập dữ liệu sauđất nướcPhápIreland Nhìn lại bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]23 và SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]28 ta thấy kết quả này đúng. Chỉ có các quốc gia Pháp và Ireland được chia sẻ giữa các bảng Bây giờ, hãy áp dụng toán tử SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 cho các bảng giống nhau. Điều này sẽ cho phép chúng tôi lấy các quốc gia trong bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]23 không có trong bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]28 của chúng tôi SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]2 Thực hiện truy vấn này mang lại kết quả đất nướcAnhĐứcỞ đó chúng tôi có nó. các quốc gia duy nhất trong bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]32 của chúng tôi. Thứ tự của các mệnh đề SELECT country FROM customers INTERSECT SELECT country FROM suppliers1 của bạn rất quan trọng ở đây và đó là điều bạn phải lưu ý khi sử dụng toán tử SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4. Hãy đảo ngược thứ tự của mệnh đề SELECT country FROM customers INTERSECT SELECT country FROM suppliers1 của chúng ta và xem điều gì sẽ xảy ra SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]2 Thực hiện truy vấn này trả về dữ liệu sau đất nướcÝBa LanTây Ban NhaNhư bạn có thể thấy, tập hợp kết quả của chúng tôi rất khác nhau. SQL bắt đầu với bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]28 của chúng tôi và sau đó loại bỏ bất kỳ quốc gia nào tồn tại trong bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]23 Nếu bạn cảm thấy choáng ngợp, hãy cân nhắc thử theo dõi Nguyên tắc cơ bản về SQL từ LearnSQL. com, sẽ cung cấp cho bạn một nền tảng SQL vững chắc. Nó sẽ dạy cho bạn các câu lệnh SQL cơ bản như ________ 438, ________ 439, ________ 520 và ________ 521. Bạn cũng sẽ học cách SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]22 bảng và thêm, sửa đổi hoặc xóa dữ liệu khỏi cơ sở dữ liệu Đây là một ví dụ đơn giản cho bạn thấy cách sử dụng toán tử SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 và SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 để nhanh chóng truy xuất các bộ dữ liệu riêng biệt. Chúng ta hãy xem thêm một số ví dụ cho bạn thấy các toán tử này sẽ hành động như thế nào trong ba tình huống khác nhau
Thêm các ví dụ SQL INTERSECT và MINUSMột bảng là tập hợp con của dữ liệu của bảng khácĐối với kịch bản này, hãy tưởng tượng chúng ta có hai bảng tên là SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]25 và SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]26. Như bạn có thể thấy bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]26 là một tập hợp con của SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]25, nghĩa là tất cả dữ liệu của nó cũng được chứa trong SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]25 SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]25 - Tất cả nhân viên làm việc tại công ty chúng tôiemployee_idfirst_namelast_name321873JohnSmith415938JaneRamsey783273AndrewJohnson832923ChristinaGrey SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]31 - Tất cả nhân viên trong ủy ban kế hoạch của công ty chúng tôiemployee_idfirst_namelast_name415938JaneRamsey783273AndrewJohnson Hãy xem mệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 hoạt động như thế nào trong tình huống này SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 Tập dữ liệu sau được trả về employee_idfirst_namelast_name415938JaneRamsey783273AndrewJohnsonNhư bạn có thể thấy, chỉ tập hợp con được trả về. Điều này là do bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]26 là một tập hợp con của bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]25; Điều gì xảy ra nếu chúng ta sử dụng mệnh đề MINUS để thay thế? . Điều này có thể đạt được bằng cách viết truy vấn bên dưới SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]2 Thực hiện truy vấn này mang lại kết quả sau employee_idfirst_namelast_name321873JohnSmith832923ChristinaGreyBạn có thể thấy rằng những nhân viên này không có trong bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]31; . Một lần nữa, thứ tự của các bảng ở đây rất quan trọng. Nếu chúng ta đảo ngược thứ tự của mệnh đề SELECT country FROM customers INTERSECT SELECT country FROM suppliers1 như vậy SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 … thực hiện truy vấn này sẽ mang lại một kết quả rất khác employee_id first_name last_nameVì tất cả dữ liệu trong bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]26 được chứa trong bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]25 nên không có gì được trả về. SQL SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 chỉ trả về dữ liệu riêng biệt Thời gian để xem xét kịch bản tiếp theo của chúng tôi Cả hai bảng đều có cùng dữ liệuCó thể xảy ra trường hợp hai bảng SQL có dữ liệu giống hệt nhau. Các mệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 và SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 xử lý tình huống này như thế nào và bạn mong đợi kết quả gì? Đối với kịch bản này, chúng tôi sẽ sử dụng các bảng sau SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]83 - Tất cả nhân viên hiện đang được trả lương tại công ty chúng tôiemployee_idfirst_namelast_name321873JohnSmith415938JaneRamsey783273AndrewJohnson832923ChristinaGrey SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]84 - Tất cả nhân viên tại công ty chúng tôiemployee_idfirst_namelast_name321873JohnSmith415938JaneRamsey783273AndrewJohnson832923ChristinaGrey Bạn có thể thấy rằng tất cả nhân viên tại công ty của chúng tôi hiện đang được trả lương và được trả lương như họ nên làm. Điều này dẫn đến các bảng này chứa dữ liệu giống hệt nhau Hãy xem cách mệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 xử lý trường hợp này SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]8 Thực hiện truy vấn này trả về kết quả này employee_idfirst_namelast_name321873JohnSmith415938JaneRamsey783273AndrewJohnson832923ChristinaGreyVì tất cả dữ liệu được chia sẻ giữa hai bảng nên mọi thứ sẽ được trả về Đã đến lúc xem cách mệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 xử lý các bảng chia sẻ dữ liệu giống hệt nhau SELECT country FROM customers INTERSECT SELECT country FROM suppliers3 Thực hiện truy vấn này hiển thị kết quả sau employee_id first_name last_nameKhông có dữ liệu nào được trả về. SQL bắt đầu bằng cách chọn dữ liệu trong bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]25 của chúng tôi và sau đó trừ dữ liệu tồn tại trong bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]83. Trong trường hợp này, mọi thứ sẽ bị xóa Điều này dẫn đến kịch bản cuối cùng của chúng tôi. Điều gì sẽ xảy ra nếu một trong các bảng tạo thành một phần của mệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 hoặc SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 không chứa dữ liệu? Một bảng không chứa dữ liệuĐối với kịch bản này, chúng tôi sẽ sử dụng các bảng sau SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]25 - Tất cả nhân viên làm việc tại công ty chúng tôiemployee_idfirst_namelast_name321873JohnSmith415938JaneRamsey783273AndrewJohnson832923ChristinaGrey SELECT country FROM customers INTERSECT SELECT country FROM suppliers32 - Tất cả nhân viên công ty chúng tôi hiện đang đi nghỉemployee_id first_name last_name Hãy cùng tìm hiểu cách mệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 xử lý một bảng trống SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]0 Chúng tôi đã đưa ra kết quả sau khi thực hiện truy vấn này employee_id first_name last_nameKo có kết quả. Khi chúng tôi sử dụng một bảng trống như một phần của mệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3, chúng tôi sẽ nhận được một tập dữ liệu trống. Điều này là do không thể tìm thấy kết quả phù hợp giữa hai bảng Mệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 bị ảnh hưởng như thế nào khi bao gồm một bảng trống hoàn toàn phụ thuộc vào thứ tự bạn chỉ định. Ví dụ, truy vấn này SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]1 mang lại kết quả sau employee_idfirst_namelast_name321873JohnSmith415938JaneRamsey783273AndrewJohnson832923ChristinaGreyMệnh đề SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4 ở đây có rất ít tác dụng, vì về cơ bản bạn không lấy đi gì (một tập dữ liệu trống) từ bảng SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]84 Tuy nhiên, nếu chúng ta đảo ngược thứ tự của mệnh đề SELECT country FROM customers INTERSECT SELECT country FROM suppliers1, như vậy SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]2 … chúng tôi đang phải đối mặt với một kết quả rất khác employee_idfirst_namelast_nameSmithMột tập dữ liệu trống khác. Điều này xảy ra vì mệnh đề SELECT country FROM customers INTERSECT SELECT country FROM suppliers1 đầu tiên truy xuất dữ liệu từ bảng SELECT country FROM customers INTERSECT SELECT country FROM suppliers32, trong trường hợp này là không có gì. Sau đó, chúng tôi hướng dẫn SQL lấy dữ liệu SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]84 khỏi tập dữ liệu trống của chúng tôi. Điều này không có tác dụng vì tập dữ liệu đã trống INTERSECT, MINUS và các toán tử tập hợp SQL khácTrong bài viết này, chúng tôi đã trình bày chi tiết về SQL SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]3 và SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]4. Chúng được gọi là toán tử tập hợp SQL, cũng bao gồm SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]04 và SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition] MINUS SELECT column_1 [, column_2, …, column_n] FROM table_1 [, table_2, …, table_n] [WHERE condition]05. Bạn có thể đọc phần giới thiệu về toán tử tập hợp SQL tại đây, cùng với cách tinh chỉnh thêm kết quả với toán tử tập hợp INTERSECT có hoạt động trong SQL Server không?Toán tử INTERSECT của SQL Server (Transact-SQL) được sử dụng để trả về các bản ghi chung giữa hai câu lệnh SELECT hoặc tập dữ liệu . Nếu một bản ghi tồn tại trong một truy vấn và không tồn tại trong truy vấn kia, nó sẽ bị bỏ qua khỏi kết quả INTERSECT. Nó là giao điểm của hai câu lệnh SELECT.
Lệnh INTERSECT là gì?Tạo khối 3D, bề mặt hoặc vùng 2D từ các khối, bề mặt hoặc vùng chồng lấp . Với INTERSECT, bạn có thể tạo khối 3D từ khối chung của hai hoặc nhiều khối, bề mặt hoặc vùng 3D hiện có.
INTERSECT và tham gia có giống nhau không?Chúng rất khác nhau , ngay cả trong trường hợp của bạn. INNER THAM GIA sẽ trả về các bản sao, nếu id được sao chép trong một trong hai bảng. INTERSECT loại bỏ trùng lặp. INNER JOIN sẽ không bao giờ trả về NULL , nhưng INTERSECT sẽ trả về NULL.
INTERSECT trong ví dụ là gì?Một số chỗ có lòng suối khô cắt ngang đường mòn. Đường thẳng A cắt đường thẳng B. Hai con đường giao nhau ở rìa thị trấn. |