Soms moet u in MySQL twee kolommen uit dezelfde tabel of een andere tabel vergelijken. Met MySQL kunt u eenvoudig twee kolommen vergelijken met zowel operators als geneste query's. In dit artikel zullen we bekijken hoe je twee kolommen in MySQL kunt vergelijken.
Hoe twee kolommen in MySQL te vergelijken
We zullen verschillende gebruiksscenario's bekijken om twee kolommen in MySQL te vergelijken
Vergelijk twee kolommen uit dezelfde tabel
Stel dat u de volgende tabel sales(id, cost_price, selling_price) . heeft en u wilt cost_price vergelijken en selling_price kolommen.
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 | +------+------------+---------------+
Hier is de generieke SQL-query om twee kolommen (kolom1, kolom2) in een tabel (tabel1) te vergelijken.
mysql> select * from table1 where column1 not in (select column2 from table1);
Werk in de bovenstaande zoekopdracht tabel1, kolom1 en kolom2 bij volgens uw vereisten.
Bonus lezen:hoe u elke N-de rij in MySQL kunt krijgen
We zullen deze zoekopdracht toepassen om twee kolommen cost_price te vergelijken en selling_price , en records weergeven waar twee kolommen niet overeenkomen.
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 | +------+------------+---------------+
U kunt ook wiskundige operatoren (<,>, <>) gebruiken als u twee numerieke kolommen wilt vergelijken. Hier is een voorbeeld om rijen weer te geven waarbij 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 lezen:hoe u een kolom voor automatisch verhogen kunt toevoegen in MySQL
Vergelijk twee kolommen uit verschillende tabellen
Laten we zeggen dat u ook een andere tafel heeft orders(id, cost_price, selling_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 | +------+------------+---------------+
Bonus Lezen:Top 5 gratis hulpprogramma's voor databaseontwerp
Hier is de bovenstaande SQL-query aangepast om twee kolommen uit verschillende tabellen te vergelijken table1 en table2
mysql> select * from table1 where column1 not in (select column2 from table2);
We zullen de bovenstaande zoekopdracht toepassen om cost_price te vergelijken kolom uit verkoop tabel met selling_price met bestellingen tafel.
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 maakt het eenvoudig om data te visualiseren en te monitoren in realtime dashboards. Probeer Ubiq gratis.