MySQL - Tabel-Tabel Turunan

Hai teman-teman, penggemar basis data yang bersemangat! Saya sangat gembira menjadi panduan Anda dalam perjalanan menarik ini ke dunia MySQL Tabel-Tabel Turunan. Sebagai seseorang yang telah mengajar ilmu komputer selama bertahun-tahun, saya bisa menjamin Anda bahwa meskipun topik ini mungkin terdengar menakutkan pada awalnya, itu sebenarnya sangat menyenangkan dan sangat berguna. Jadi, mari kita masuk ke dalam!

MySQL - Derived Tables

Apa Itu MySQL Tabel-Tabel Turunan?

Bayangkan Anda sedang mengatur pesta besar (siapa yang tidak suka pesta basis data yang bagus, kan?). Anda memiliki daftar semua teman Anda, tapi Anda ingin membuat daftar terpisah hanya bagi mereka yang tinggal dekat. Itu sebenarnya apa yang dilakukan tabel-tabel turunan di MySQL - itu adalah tabel sementara yang dibuat dalam sebuah query untuk membantu Anda mengatur dan menganalisis data Anda lebih efektif.

Dalam istilah teknis, tabel-tabel turunan adalah subquery yang muncul dalam klausa FROM dari pernyataan SQL lain. Itu seperti membuat tabel sementara di udara, yang Anda bisa gunakan dalam query utama Anda.

mari kita lihat contoh sederhana:

SELECT * FROM
(SELECT name, age FROM people WHERE age > 18) AS adults
WHERE adults.age < 30;

Dalam query ini, semua hal di dalam tanda kurung adalah tabel-tabel turunannya. Kita membuat tabel sementara semua orang di atas 18 tahun, dan kemudian memilih dari tabel itu untuk menemukan mereka yang di bawah 30 tahun.

Menggunakan Klausa WHERE dengan Tabel-Tabel Turunan

Klausa WHERE adalah teman terbaik Anda saat bekerja dengan tabel-tabel turunan. Itu memungkinkan Anda untuk menyaring data Anda baik dalam tabel-tabel turunan maupun dalam query utama. Mari kita mengembangkan contoh sebelumnya:

SELECT * FROM
(SELECT name, age, city FROM people WHERE age > 18) AS adults
WHERE adults.city = 'New York' AND adults.age < 30;

Di sini, kita pertama-tama membuat tabel-tabel turunan semua orang dewasa (age > 18), dan kemudian dari tabel itu, kita memilih hanya mereka yang tinggal di New York dan di bawah 30 tahun. Itu seperti filter ganda!

Menamai Kolom di Tabel-Tabel Turunan

kadang-kadang, Anda mungkin ingin memberikan nama yang lebih deskriptif bagi kolom Anda dalam tabel-tabel turunan. Ini adalah tempat aliasing berguna. Mari kita lihat:

SELECT young_adult_name, years_alive FROM
(SELECT name AS young_adult_name, age AS years_alive
FROM people
WHERE age BETWEEN 18 AND 25) AS young_adults;

Dalam contoh ini, kita mengalias 'name' menjadi 'young_adult_name' dan 'age' menjadi 'years_alive'. Ini bisa membuat query Anda lebih mudah dibaca dan lebih jelas.

Menampilkan Fungsi Aggregat sebagai Tabel-Tabel Turunan

Fungsi agregat seperti COUNT, AVG, SUM bisa sangat berguna dalam tabel-tabel turunan. mari kita katakan kita ingin mengetahui berapa banyak orang yang ada dalam setiap kelompok umur:

SELECT age_group, count FROM
(SELECT
CASE
WHEN age < 18 THEN 'Under 18'
WHEN age BETWEEN 18 AND 30 THEN '18-30'
WHEN age BETWEEN 31 AND 50 THEN '31-50'
ELSE 'Over 50'
END AS age_group,
COUNT(*) as count
FROM people
GROUP BY age_group) AS age_distribution
ORDER BY count DESC;

Query ini membuat tabel-tabel turunan yang mengelompokkan orang ke dalam kategori umur dan menghitung berapa banyak orang dalam setiap kelompok. Kita kemudian memilih dari tabel ini untuk menampilkan hasilnya.

Menggunakan Program Klien untuk Membuat Tabel-Tabel Turunan

Meskipun biasanya kita menulis query secara langsung di MySQL, Anda juga bisa membuat tabel-tabel turunan menggunakan program klien. Ini adalah contoh sederhana menggunakan Python:

import mysql.connector

# Terhubung ke basis data
cnx = mysql.connector.connect(user='your_username', password='your_password',
host='127.0.0.1', database='your_database')
cursor = cnx.cursor()

# Buat query dengan tabel-tabel turunan
query = """
SELECT * FROM
(SELECT name, age FROM people WHERE age > 18) AS adults
WHERE adults.age < 30;
"""

# Eksekusi query
cursor.execute(query)

# Fetch dan cetak hasil
for (name, age) in cursor:
print(f"{name} berusia {age} tahun")

# Tutup koneksi
cursor.close()
cnx.close()

Skrip Python ini terhubung ke basis data Anda, eksekusi query dengan tabel-tabel turunan, dan kemudian mencetak hasilnya.

Kesimpulan

Dan itu adalah, teman-teman! Kita telah melakukan perjalanan melalui negeri MySQL Tabel-Tabel Turunan, dari konsep dasar ke penggunaan yang lebih lanjut. Ingat, tabel-tabel turunan adalah senjata rahasia Anda dalam SQL - mereka memungkinkan Anda untuk membuat tabel sementara di udara, membantu Anda mengatur dan menganalisis data Anda dalam cara yang kuat.

Seperti halnya semua hal dalam pemrograman, latihan membuat sempurna. Jadi jangan khawatir untuk mencoba tabel-tabel turunan dalam proyek Anda sendiri. Siapa tahu? Anda mungkin hanya menemukan cara untuk mengadakan pesta basis data terbaik di kota Anda!

Berikut adalah tabel rujukan ringkas dari metode yang kita pelajari:

Metode Deskripsi
Tabel-Tabel Turunan Dasar Buat tabel sementara dalam klausa FROM
Klausa WHERE Saring data dalam tabel-tabel turunan dan query utama
Aliasing Berikan nama yang lebih deskriptif bagi kolom di tabel-tabel turunan
Fungsi Agregat Gunakan fungsi seperti COUNT, AVG, SUM di tabel-tabel turunan
Program Klien Buat tabel-tabel turunan menggunakan bahasa pemrograman eksternal

Selamat berkueri, dan may your databases always be normalized! (Semoga basis data Anda selalu normal!)

Credits: Image by storyset