SQL untuk Ilmuwan/Analis Data – Menuju AI — Teknologi, Sains, dan Teknik Terbaik

Pengarang: Saniya Parveez

pengantar

SQL adalah bagian penting dari data dan ilmu data untuk penyimpanan dan pengambilan data. Dengan data ekstensif yang dikumpulkan dan dibuat setiap hari di industri, selama data tetap berada dalam database yang sesuai dengan SQL, SQL masih merupakan alat yang paling mampu untuk membantu menyelidiki, memfilter, dan menggabungkan data untuk mendapatkan pemahaman data yang menyeluruh. .

Saya telah melihat berkali-kali bahwa SQL adalah keterampilan yang diremehkan untuk ilmu data karena telah diterima begitu saja sebagai cara yang diperlukan namun tidak keren untuk mendapatkan data dari database untuk dimasukkan ke dalam panda. Orang berpikir bahwa SQL hanya SELECT, JOIN, dan ORDER BY. Tapi, ini lebih dari sekedar pernyataan SELECT, JOIN, dan ORDER By.

Trik SQL untuk Setiap Hari

COALESCE() Fungsi

Fungsi ini digunakan untuk menangani nilai NULL. Ini menggantikan nilai NULL dengan nilai lain yang diinginkan.

Mari kita ambil tabel Karyawan:

Gambar 1: Kota dengan nilai Null

Pada tabel di atas, baris kota memiliki banyak nilai nol. Mari kita query nilai Null kota dengan nilai default.

PILIH nama, gaji, kota,
COALESCE(kota, ‘New Delhi’) AS city_null_value
DARI
Karyawan
ORDER DENGAN nama;
Gambar 2: Nilai default kota yang memiliki nilai NULL

ROW_NUMBER() fungsi

Fungsi ini menciptakan nilai integer yang bertambah unik untuk setiap baris hasil. Kolom nilai ini seharusnya pseudo-kolom karena tidak ada secara alami di tabel data kami. Karena itu, hasilnya dikembalikan dalam urutan yang ditentukan oleh analis dalam klausa ORDER BY.

Mari kita buat nomor baris di tabel Karyawan.

PILIH
nomor baris,
nama,
gaji,
kota
DARI
(
PILIH
ROW_NUMBER() OVER (PARTITION BY kota ORDER BY nama DESC) SEBAGAI rownumber,
tab.*
DARI tab Karyawan
) Yang
ORDER DENGAN nama, nomor baris;
Gambar 3: nomor baris berdasarkan kota yang dipartisi

DENGAN Pernyataan

Ini digunakan untuk mendefinisikan “tampilan cakupan pernyataan”. Ini tidak disimpan dalam skema database. Ini juga disebut Common Table Expression (CTE) dan subquery factoring.

Mari kita ambil tabel OrderDetail seperti di bawah ini:

Gambar 4: Tabel Detail Pesanan

Sekarang, kueri untuk mengembalikan jumlah rata-rata yang dipesan per ProductId.

DENGAN cte_quantity
SEBAGAI
(PILIH
SUM(Kuantitas) sebagai Total
DARI Detail Pesanan
KELOMPOK BERDASARKAN ID Produk)

PILIH
AVG(Total) rata-rata_produk_kuantitas
DARI cte_quantity;

Keluaran:

Gambar 5: Jumlah rata-rata yang dipesan per productId

GROUP_CONCAT() fungsi

Ini digunakan untuk menggabungkan data dari beberapa baris ke dalam satu bidang. Ini mengembalikan string dengan nilai non-NULL gabungan dari grup. Ini mengembalikan NULL ketika tidak ada nilai non-NULL.

Mari kita ambil contoh tabel “Book master” seperti di bawah ini:

Gambar 6: Tabel Master Buku

Permintaan untuk mengembalikan daftar ‘cate_id’ yang dipisahkan koma (,) untuk setiap grup ‘pub_id’.

PILIH pub_id,GROUP_CONCAT(cate_id)
DARI book_mast
KELOMPOK MENURUT pub_id;
Gambar 7: Nilai yang dipisahkan koma

Integrasikan SQL Query dengan Python

Panda adalah perpustakaan luar biasa yang memberikan satu kode baris untuk kueri dari SQL. Kode di bawah ini untuk kueri dari Pandas:

kueri = “PILIH * DARI CURRENT_TABLE”
sql_data = pandas.read_sql(kueri, koneksi)

Kesimpulan

Ilmuwan atau analis data harus memahami SQL. Faktanya, semua profesional yang bekerja dengan data dan analitik harus mengetahui SQL. SQL masih merupakan alat yang paling ampuh untuk membantu Anda menyelidiki, memfilter, dan menggabungkan untuk mendapatkan pemahaman yang menyeluruh tentang data Anda.

SQL untuk Ilmuwan/Analis Data awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI