MySQL - UNION Operator
Hai there, bakal ahli pangkalan data! Hari ini, kita bakal melihat salah satu alat paling kuat MySQL: operator UNION. Itu seperti tongkat ajaib yang membolehkan kita untuk menggabungkan hasil beberapa pernyataan SELECT menjadi satu set hasil. Menarik, kan? mari kita embarkasi dalam pengembaraan ini bersama!
MySQL UNION Operator
Operator UNION digunakan untuk menggabungkan set hasil dari dua atau lebih pernyataan SELECT. Itu seperti menjemput kelompok teman yang berbeda ke satu pesta - mereka semua berkumpul di satu tempat!
Ini adalah sintaksis dasar:
SELECT nama_kolom(s) FROM tabel1
UNION
SELECT nama_kolom(s) 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)
);
-- Sisipkan 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)
);
-- Sisipkan 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;
Query ini akan memberikan kita daftar gabungan nama dan email dari kedua tabel. Keren, kan?
Ingat, UNION secara default menghapus baris duplikat. Itu seperti penjaga pesta yang memastikan bahwa tidak ada yang masuk dua kali!
UNION dengan klausal WHERE
Kita dapat membuat UNION kita menjadi lebih kuat dengan menambah klausal WHERE. Ini membolehkan kita 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%';
Query ini akan memberikan kita karyawan dengan ID lebih besar dari 1 dan pelanggan yang nama dimulai dengan 'B'. Itu seperti memiliki seksi VIP di pesta kita!
UNION dengan klausal ORDER BY
Ingin mengurutkan hasil gabunganmu? Tidak masalah! Kita dapat menggunakan ORDER BY dengan UNION, tetapi itu harus ada 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. Tidak 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 menganggap tabel customers memiliki nama kolom yang sedikit berbeda. Kata kunci AS membolehkan kita mengubah namanya secara instan!
Operator UNION ALL
Ingat penjaga pesta yang menghapus duplikat? Kadang-kadang kita ingin membolehkan semua orang masuk, termasuk duplikat. Itu di mana UNION ALL datang.
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 disambut baik" 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 pangkalan data
cnx = mysql.connector.connect(user='your_username', password='your_password',
host='127.0.0.1', database='your_database')
cursor = cnx.cursor()
# Eksekusi query 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 pangkalan data Anda, menjalankan query UNION, dan mencetak hasilnya. Itu seperti memiliki asisten pribadi untuk mengelola daftar tamu pesta Anda!
Berikut adalah tabel yang menggabungkan metode UNION yang 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 kompatibilitas |
Dan begitu punya, para entusiastis pangkalan data muda! Kita telah berjalan melalui negeri operator UNION, dari gabungan dasar hingga query kompleks dengan penyaringan dan pengurutan. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba query ini di pangkalan data Anda sendiri. Siapa tahu? Anda mungkin saja menjadi tuan pesta data terbaik di kota!
Credits: Image by storyset