MySQL - Operator UNION
Halo sana, para ahli basis data masa depan! Hari ini, kita akan mendalami salah satu alat paling kuat MySQL: operator UNION. Itu seperti tongkat ajaib yang memungkinkan kita untuk menggabungkan hasil dari beberapa pernyataan SELECT menjadi satu set hasil. Menarik, kan? mari kita melanjutkan petualangan ini bersama!
Operator UNION MySQL
Operator UNION digunakan untuk menggabungkan set hasil dari dua atau lebih pernyataan SELECT. Itu seperti mengundang kelompok teman yang berbeda ke pesta yang sama - mereka semua bersatu di satu tempat!
Ini adalah sintaksis dasar:
SELECT nama_kolom(d) FROM tabel1
UNION
SELECT nama_kolom(d) FROM tabel2;
mari kita lihat contoh praktis. Bayangkan kita memiliki dua tabel: 'employees' dan 'customers'.
-- Buat tabel employees
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
);
-- Masukkan beberapa data
INSERT INTO employees VALUES
(1, 'John Doe', '[email protected]'),
(2, 'Jane Smith', '[email protected]');
-- Buat tabel customers
CREATE TABLE customers (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
);
-- Masukkan beberapa data
INSERT INTO customers VALUES
(1, 'Alice Johnson', '[email protected]'),
(2, 'Bob Wilson', '[email protected]');
-- Sekarang, mari kita gunakan UNION
SELECT name, email FROM employees
UNION
SELECT name, email FROM customers;
Kueri ini akan memberikan kita daftar gabungan nama dan email dari kedua tabel. Keren, kan?
Ingat, UNION secara default menghapus baris duplikat. Itu seperti seorang bouncer di pesta kita, memastikan bahwa tidak ada yang masuk dua kali!
UNION dengan klausa WHERE
Kita dapat membuat UNION kita menjadi lebih kuat dengan menambahkan klausa WHERE. Ini memungkinkan kita untuk menyaring hasil dari setiap pernyataan SELECT sebelum mereka digabungkan.
SELECT name, email FROM employees WHERE id > 1
UNION
SELECT name, email FROM customers WHERE name LIKE 'B%';
Kueri ini akan memberikan kita karyawan dengan ID lebih besar dari 1 dan pelanggan yang namanya dimulai dengan 'B'. Itu seperti memiliki seksi VIP di pesta kita!
UNION dengan klausa ORDER BY
Ingin mengurutkan hasil gabunganmu? Tak masalah! Kita dapat menggunakan ORDER BY dengan UNION, tetapi harus diletakkan di akhir seluruh pernyataan UNION.
SELECT name, email FROM employees
UNION
SELECT name, email FROM customers
ORDER BY name ASC;
Ini akan memberikan kita semua nama dan email, diurutkan secara alfabetik menurut nama. Itu seperti mengatur tamu pesta kita dalam urutan alfabetik!
UNION dengan Aliases
kadang-kadang, kolom di tabel kita mungkin memiliki nama yang berbeda. Tak perlu khawatir! Kita dapat menggunakan alias untuk membuat mereka cocok.
SELECT name, email AS contact FROM employees
UNION
SELECT customer_name, customer_email AS contact FROM customers;
Di sini, kita mengasumsikan tabel customers memiliki nama kolom yang sedikit berbeda. Kata kunci AS memungkinkan kita untuk mengubah namanya secara langsung!
Operator UNION ALL
Ingat bouncer kita yang menghapus duplikat? Kadang-kadang kita ingin membolehkan semua orang masuk, termasuk duplikat. Itu di mana UNION ALL masuk.
SELECT name FROM employees
UNION ALL
SELECT name FROM customers;
Ini akan memberikan kita semua nama, bahkan jika ada duplikat antara kedua tabel. Itu seperti memiliki kebijakan "semua orang diterima" di pesta kita!
Operator UNION dalam Program Klien
Sekarang, mari kita lihat bagaimana kita dapat menggunakan operator UNION dalam program klien. Saya akan memberikan contoh menggunakan Python dan pustaka mysql-connector.
import mysql.connector
# Hubungi basis data
cnx = mysql.connector.connect(user='your_username', password='your_password',
host='127.0.0.1', database='your_database')
cursor = cnx.cursor()
# Jalankan kueri UNION
query = """
SELECT name, email FROM employees
UNION
SELECT name, email FROM customers
ORDER BY name
"""
cursor.execute(query)
# Ambil dan cetak hasil
for (name, email) in cursor:
print(f"{name}: {email}")
# Tutup koneksi
cursor.close()
cnx.close()
Skrip ini menghubungi basis data MySQL Anda, menjalankan kueri UNION, dan mencetak hasilnya. Itu seperti memiliki asisten pribadi untuk mengelola daftar tamu pesta Anda!
Berikut adalah tabel yang menggabungkan metode UNION yang telah kita diskusikan:
Metode | Deskripsi |
---|---|
UNION | Gabungkan hasil, hapus duplikat |
UNION ALL | Gabungkan hasil, simpan duplikat |
UNION dengan WHERE | Saring hasil sebelum gabungkan |
UNION dengan ORDER BY | Urutkan hasil gabungan |
UNION dengan Aliases | Ubah nama kolom untuk kesesuaian |
Dan itu dia, para entusiasta basis data muda! Kita telah melakukan perjalanan melalui negeri operator UNION, dari gabungan dasar hingga kueri yang kompleks dengan penyaringan dan pengurutan. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba kueri ini di basis data Anda sendiri. Siapa tahu? Anda mungkin saja menjadi tuan pesta data terbaik di kota Anda!
Credits: Image by storyset