Hướng dẫn how do you get records which are not in another table in mysql? - Làm thế nào để bạn lấy được các bản ghi không có trong bảng khác trong mysql?

Làm thế nào để chọn tất cả các hàng trong một bảng không xuất hiện trên một bảng khác?

Table1:

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
| Yamila    | Diaz     | 1972-03-04 |
+-----------+----------+------------+

Table2:

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
+-----------+----------+------------+

Ví dụ đầu ra cho các hàng trong Bảng1 không có trong Bảng2:

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Yamila    | Diaz     | 1972-03-04 |
+-----------+----------+------------+

Có lẽ một cái gì đó như thế này nên làm việc:

SELECT * FROM Table1 WHERE * NOT IN (SELECT * FROM Table2)

Hướng dẫn how do you get records which are not in another table in mysql? - Làm thế nào để bạn lấy được các bản ghi không có trong bảng khác trong mysql?

C r

2.1225 huy hiệu vàng34 Huy hiệu bạc41 Huy hiệu đồng5 gold badges34 silver badges41 bronze badges

Hỏi ngày 1 tháng 8 năm 2012 lúc 21:04Aug 1, 2012 at 21:04

Bạn cần phải thực hiện SubSelect dựa trên tên cột, không phải

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
+-----------+----------+------------+
3.

Ví dụ: nếu bạn có trường

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
+-----------+----------+------------+
4 chung cho cả hai bảng, bạn có thể làm:

SELECT * FROM Table1 WHERE id NOT IN (SELECT id FROM Table2)

Tham khảo Cú pháp Subquary MySQL để biết thêm ví dụ.

Đã trả lời ngày 1 tháng 8 năm 2012 lúc 21:12Aug 1, 2012 at 21:12

StenniestennieStennie

62.5K14 Huy hiệu vàng145 Huy hiệu bạc173 Huy hiệu đồng14 gold badges145 silver badges173 bronze badges

5

Nếu bạn có 300 cột như bạn đã đề cập trong một nhận xét khác và bạn muốn so sánh trên tất cả các cột (giả sử các cột là cùng một tên), bạn có thể sử dụng

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
+-----------+----------+------------+
5 để tham gia vào tất cả các tên cột phù hợp giữa hai bảng để để Bạn không cần phải gõ tất cả các điều kiện tham gia theo cách thủ công:

SELECT            a.*
FROM              tbl_1 a
NATURAL LEFT JOIN tbl_2 b
WHERE             b.FirstName IS NULL

Đã trả lời ngày 1 tháng 8 năm 2012 lúc 22:12Aug 1, 2012 at 22:12

Zane Bienzane BienZane Bien

22.3k6 Huy hiệu vàng44 Huy hiệu bạc57 Huy hiệu đồng6 gold badges44 silver badges57 bronze badges

4

SELECT *
FROM Table1 AS a
WHERE NOT EXISTS (
  SELECT *
  FROM Table2 AS b 
  WHERE a.FirstName=b.FirstName AND a.LastName=b.Last_Name
)

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
+-----------+----------+------------+
6 sẽ giúp bạn ...

Hướng dẫn how do you get records which are not in another table in mysql? - Làm thế nào để bạn lấy được các bản ghi không có trong bảng khác trong mysql?

go2null

1.8601 Huy hiệu vàng20 Huy hiệu bạc17 Huy hiệu đồng1 gold badge20 silver badges17 bronze badges

Đã trả lời ngày 1 tháng 8 năm 2012 lúc 21:07Aug 1, 2012 at 21:07

Ruzbeh Iraniruzbeh IraniRuzbeh Irani

2.19817 Huy hiệu bạc10 Huy hiệu đồng17 silver badges10 bronze badges

2

Một tham gia bên trái tiêu chuẩn có thể giải quyết vấn đề và, nếu các trường tham gia được lập chỉ mục, cũng sẽ nhanh hơnif the fields on join are indexed,
should also be faster

SELECT *
FROM Table1 as t1 LEFT JOIN Table2 as t2 
ON t1.FirstName = t2.FirstName AND t1.LastName=t2.LastName
WHERE t2.BirthDate Is Null

Đã trả lời ngày 1 tháng 8 năm 2012 lúc 21:21Aug 1, 2012 at 21:21

Hướng dẫn how do you get records which are not in another table in mysql? - Làm thế nào để bạn lấy được các bản ghi không có trong bảng khác trong mysql?

StevesteveSteve

211K22 Huy hiệu vàng226 Huy hiệu bạc282 Huy hiệu Đồng22 gold badges226 silver badges282 bronze badges

4

Hãy thử truy vấn đơn giản này. Nó hoạt động hoàn hảo.

select * from Table1 where (FirstName,LastName,BirthDate) not in (select * from Table2);

Đã trả lời ngày 30 tháng 10 năm 2017 lúc 16:58Oct 30, 2017 at 16:58

VijeshvijeshVijesh

7453 Huy hiệu vàng8 Huy hiệu bạc22 Huy hiệu đồng3 gold badges8 silver badges22 bronze badges

1

Try:

SELECT * FROM table1
    LEFT OUTER JOIN table2
    ON table1.FirstName = table2.FirstName and table1.LastName=table2.LastName
    WHERE table2.BirthDate IS NULL

Hướng dẫn how do you get records which are not in another table in mysql? - Làm thế nào để bạn lấy được các bản ghi không có trong bảng khác trong mysql?

Đã trả lời ngày 8 tháng 12 năm 2014 lúc 11:58Dec 8, 2014 at 11:58

Hướng dẫn how do you get records which are not in another table in mysql? - Làm thế nào để bạn lấy được các bản ghi không có trong bảng khác trong mysql?

Một tùy chọn sẽ là

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
+-----------+----------+------------+
0

Đã trả lời ngày 24 tháng 11 năm 2021 lúc 13:46Nov 24, 2021 at 13:46

Hướng dẫn how do you get records which are not in another table in mysql? - Làm thế nào để bạn lấy được các bản ghi không có trong bảng khác trong mysql?

Điều này làm việc cho tôi trong Oracle:

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
+-----------+----------+------------+
1

Hướng dẫn how do you get records which are not in another table in mysql? - Làm thế nào để bạn lấy được các bản ghi không có trong bảng khác trong mysql?

Simon PA

74813 Huy hiệu bạc25 Huy hiệu đồng13 silver badges25 bronze badges

Đã trả lời ngày 7 tháng 2 năm 2017 lúc 12:16Feb 7, 2017 at 12:16

Hướng dẫn how do you get records which are not in another table in mysql? - Làm thế nào để bạn lấy được các bản ghi không có trong bảng khác trong mysql?

1

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Tia       | Carrera  | 1975-09-18 |
| Nikki     | Taylor   | 1972-03-04 |
+-----------+----------+------------+
2

Matt

73.3K26 Huy hiệu vàng150 Huy hiệu bạc179 Huy hiệu đồng26 gold badges150 silver badges179 bronze badges

Đã trả lời ngày 16 tháng 6 năm 2015 lúc 18:52Jun 16, 2015 at 18:52

Làm thế nào để bạn tìm thấy các bản ghi trong một bảng nhưng không phải trong một bảng khác?

Đôi khi bạn có thể muốn so sánh hai bảng và xác định các bản ghi trong một trong các bảng không có bản ghi tương ứng trong bảng khác. Cách dễ nhất để xác định các bản ghi này là bằng cách sử dụng Trình hướng dẫn truy vấn chưa từng có.using the Find Unmatched Query Wizard.

Làm thế nào để tôi tìm thấy các bản ghi không phù hợp trong MySQL?

Cách thứ hai để tìm các bản ghi không phù hợp giữa các bảng là sử dụng không kết hợp với toán tử trong.Toán tử trong cho phép bạn chỉ định nhiều giá trị trong mệnh đề WHERE, giống như một chuỗi ORS được xích lại với nhau.use NOT in conjunction with the IN operator. The IN operator allows you to specify multiple values in a WHERE clause, much like a string of ORs chained together.

Làm thế nào để bạn chọn tất cả các bản ghi từ một bảng không tồn tại trong một bảng khác trong Excel?

Chọn [Chọn cột] từ Bảng 1 Tham gia bên ngoài bên phải TABLE2 BẬT (Bảng1. SQL> Chọn e. Chọn [Chọn cột] từ Bảng 1 tham gia bên ngoài bên phải Bảng 2 trên (Bảng1. Chọn cột_name từ Bảng 1 Tham gia bên ngoài đầy đủ Bảng 2 trên (Kết nối);Ở đây tất cả các dữ liệu từ Bảng 1 và Bảng 2 sẽ được truy xuất.

Làm cách nào để tìm các bản ghi khác nhau trong hai bảng trong MySQL?

Đầu tiên, sử dụng tuyên bố công đoàn để kết hợp các hàng trong cả hai bảng;Chỉ bao gồm các cột cần so sánh.Bộ kết quả trả lại được sử dụng để so sánh.Thứ hai, nhóm các bản ghi dựa trên khóa chính và các cột cần so sánh.use the UNION statement to combine rows in both tables; include only the columns that need to compare. The returned result set is used for the comparison. Second, group the records based on the primary key and columns that need to compare.