Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách so sánh hai cột trong MySQL

Đôi khi bạn có thể cần so sánh hai cột từ cùng một bảng hoặc bảng khác nhau, trong MySQL. MySQL cho phép bạn dễ dàng so sánh hai cột bằng cách sử dụng các toán tử cũng như các truy vấn lồng nhau. Trong bài viết này, chúng ta sẽ xem xét cách so sánh hai cột trong MySQL.


Cách so sánh hai cột trong MySQL

Chúng ta sẽ xem xét các trường hợp sử dụng khác nhau để so sánh hai cột trong MySQL


So sánh hai cột từ cùng một bảng

Giả sử bạn có bảng sau doanh số (id, cost_price, sell_price) và bạn muốn so sánh giá_giá sell_price cột.

mysql> create table sales(id int, cost_price int, selling_price int);

mysql> insert into sales(id, cost_price, selling_price)
     values(1, 135, 215),
     (2,215, 145),
     (3,310,100);

mysql> select * from sales;
+------+------------+---------------+
| id   | cost_price | selling_price |
+------+------------+---------------+
|    1 |        135 |           215 |
|    2 |        215 |           145 |
|    3 |        310 |           100 |
+------+------------+---------------+

Đây là truy vấn SQL chung cho hai cột so sánh (cột1, cột2) trong bảng (bảng1).

mysql> select * from table1
       where column1 not in 
       (select column2 from table1);

Trong truy vấn trên, hãy cập nhật table1, column1 và column2 theo yêu cầu của bạn.

Phần thưởng đã đọc:Cách nhận mọi hàng thứ N trong MySQL

Chúng tôi sẽ áp dụng truy vấn này để so sánh hai cột cost_price sell_price và hiển thị các bản ghi có sự không khớp giữa hai cột.

mysql> select * from sales
       where cost_price not in
       (select selling_price from sales);
+------+------------+---------------+
| id   | cost_price | selling_price |
+------+------------+---------------+
|    1 |        135 |           215 |
|    3 |        310 |           100 |
+------+------------+---------------+

Bạn cũng có thể sử dụng toán tử toán học (<,>, <>) trong trường hợp bạn muốn so sánh hai cột số. Dưới đây là một ví dụ để hiển thị các hàng có giá_giá> giá_bán.

mysql> select * from sales where cost_price>selling_price;
+------+------------+---------------+
| id   | cost_price | selling_price |
+------+------------+---------------+
|    2 |        215 |           145 |
|    3 |        310 |           100 |
+------+------------+---------------+

Phần thưởng đọc:Cách thêm cột tăng tự động trong MySQL


So sánh hai cột từ các bảng khác nhau

Giả sử bạn cũng có một bảng đơn đặt hàng khác (id, cost_price, sell_price)

mysql> create table orders(id int, cost_price int, selling_price int);

mysql> insert into orders(id, cost_price, selling_price)
       values(1, 235, 215),
       (2,205, 105),
       (3,320,120);

mysql> select * from orders;
+------+------------+---------------+
| id   | cost_price | selling_price |
+------+------------+---------------+
|    1 |        235 |           215 |
|    2 |        205 |           105 |
|    3 |        320 |           120 |
+------+------------+---------------+

Phần thưởng Đọc:5 công cụ thiết kế cơ sở dữ liệu miễn phí hàng đầu

Đây là truy vấn SQL ở trên được sửa đổi để so sánh hai cột từ các bảng khác nhau table1 và table2

mysql> select * from table1
       where column1 not in 
      (select column2 from table2);

Chúng tôi sẽ áp dụng truy vấn trên để so sánh cost_price cột từ bán hàng bảng có giá_giá_bán với đơn đặt hàng bảng.

mysql> select * from sales
       where cost_price not in 
      (select selling_price from orders);
+------+------------+---------------+
| id   | cost_price | selling_price |
+------+------------+---------------+
|    1 |        135 |           215 |
|    3 |        310 |           100 |
+------+------------+---------------+

Ubiq giúp dễ dàng trực quan hóa dữ liệu và theo dõi chúng trong trang tổng quan thời gian thực. Dùng thử Ubiq miễn phí.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vấn đề Java + Mysql UTF8

  2. So sánh Percona XtraBackup với MySQL Enterprise Backup:Phần một

  3. Chạy Galera Cluster trên Kubernetes

  4. Cân nhắc về tính toàn vẹn và hiệu suất của dữ liệu trong sao chép bán đồng bộ MySQL

  5. Sử dụng tệp .php để tạo kết xuất MySQL