Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana Membandingkan Dua Kolom di MySQL

Terkadang Anda mungkin perlu membandingkan dua kolom dari tabel yang sama atau tabel yang berbeda, di MySQL. MySQL memungkinkan Anda membandingkan dua kolom dengan mudah menggunakan operator serta kueri bersarang. Pada artikel ini, kita akan melihat bagaimana membandingkan dua kolom di MySQL.


Cara Membandingkan Dua Kolom di MySQL

Kami akan melihat kasus penggunaan yang berbeda untuk membandingkan dua kolom di MySQL


Bandingkan dua kolom dari tabel yang sama

Katakanlah Anda memiliki tabel berikut penjualan(id, harga_biaya, harga_jual) dan Anda ingin membandingkan harga_biaya dan harga_jual kolom.

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 |
+------+------------+---------------+

Berikut kueri SQL umum untuk dua kolom perbandingan (kolom1, kolom2) dalam sebuah tabel (tabel1).

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

Dalam kueri di atas, perbarui tabel1, kolom1 dan kolom2 sesuai kebutuhan Anda.

Bonus Baca :Cara Mendapatkan Setiap Nth Row di MySQL

Kami akan menerapkan kueri ini untuk membandingkan dua kolom harga_biaya dan harga_jual , dan tampilkan catatan di mana ada ketidakcocokan antara dua kolom.

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 |
+------+------------+---------------+

Anda juga dapat menggunakan operator matematika (<,>, <>) jika Anda ingin membandingkan dua kolom numerik. Berikut ini contoh untuk menampilkan baris di mana cost_price>selling_price.

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

Bonus Baca :Cara Menambahkan Kolom Auto Increment Di MySQL


Bandingkan dua kolom dari tabel yang berbeda

Katakanlah Anda juga memiliki tabel lain pesanan(id, harga_biaya, harga_jual)

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 |
+------+------------+---------------+

Bonus Baca :5 Alat Desain Basis Data Gratis Teratas

Berikut query SQL di atas yang dimodifikasi untuk membandingkan dua kolom dari tabel yang berbeda table1 dan table2

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

Kami akan menerapkan kueri di atas untuk membandingkan harga_biaya kolom dari penjualan tabel dengan harga_jual dengan pesanan tabel.

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 memudahkan untuk memvisualisasikan data, dan memantaunya di dasbor waktu nyata. Coba Ubiq gratis.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gunakan Database Relasional MySQL di Ubuntu 9.10 (Karmic)

  2. Mengapa MySQL tidak mendukung presisi milidetik/mikrodetik?

  3. Impor CSV ke MySQL

  4. Ubah cap waktu Unix menjadi tanggal yang dapat dibaca manusia menggunakan MySQL

  5. Bagaimana cara men-debug Lock wait timeout terlampaui di MySQL?