
Pengarang: Saurabh Saxena
Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.
10 Pertanyaan SQL Teratas yang Harus Diketahui Ilmuwan Data
Foto oleh Pembuat Kampanye di Unsplash
Structured Query Language atau SQL adalah bahasa universal berbasis query untuk membaca, menulis dan mengelola database. Dalam alur Machine Learning apa pun, baik itu data, metadata, atau log, SQL banyak digunakan di semua operasi.
Saat Anda bekerja dengan database, empat operasi dasar yang harus diketahui adalah CRUD (Buat, Baca, Perbarui, dan Hapus). Namun, kami akan menargetkan operasi baca, perbarui, dan hapus di blog ini.
Mari Mulai dari dasar.
1) PILIH
Jika Anda ingin mengetahui first_name, last_name, dan email pelanggan, Anda dapat menentukan daftar kolom yang diinginkan beserta kata kunci SELECT dan FROM.
PILIH nama_depan,
nama keluarga,
surel
DARI pelanggan
Gambar oleh Penulis
Sedangkan untuk query semua kolom dalam tabel, maka tanda bintang
adalah salah satu yang sesuai dengan SELECT .
PILIH *
DARI pelanggan
Gambar oleh Penulis
2) BERBEDA
DISTINCT membatasi duplikasi baris dalam kueri. Contoh: Permintaan untuk mencetak tanggal pembuatan pelanggan.
PILIH BERBEDA buat_tanggal
DARI pelanggan
Gambar oleh Penulis
3) DIMANA
WHERE digunakan dalam kueri untuk memfilter hasil. Contoh: Kueri semua alamat di distrik Texas.
PILIH * DARI alamat
WHERE distrik=’Texas’
Gambar oleh Penulis
4) KELOMPOK MENURUT dan MEMILIKI
Klausa GROUP BY mengelompokkan baris dengan nilai yang sama. Contoh: Berapa total pembayaran yang dilakukan oleh setiap pelanggan?
PILIH id_pelanggan,
SUM(jumlah) SEBAGAI total_jumlah
DARI pembayaran
KELOMPOK MENURUT customer_id
Gambar oleh Penulis
Dalam SQL, fungsi agregasi seperti SUM, AVG, danCOUNT tidak dapat digunakan dalam klausa WHERE. Kita perlu menggunakan klausa HAVING.
PILIH id_pelanggan,
SUM(jumlah) SEBAGAI total_jumlah
DARI pembayaran
KELOMPOK MENURUT customer_id
MEMILIKI SUM(jumlah) <=50
Gambar oleh Penulis
5) PESAN OLEH dan BATAS
ORDER BY mengurutkan hasil dalam urutan menaik atau menurun berdasarkan kolom tertentu, kata kunci ASC dan DESC menentukan urutannya. Contoh: Temukan total pembayaran yang dilakukan oleh setiap pelanggan dan urutkan dalam urutan menaik.
PILIH id_pelanggan,
SUM(jumlah) SEBAGAI total_jumlah
DARI pembayaran
KELOMPOK MENURUT customer_id
ORDER BY total_amount ASC
Gambar oleh Penulis
LIMIT membatasi jumlah baris ke nomor tertentu dalam hasil. Contoh: Temukan 3 pelanggan dengan bayaran tertinggi.
PILIH id_pelanggan,
SUM(jumlah) SEBAGAI total_jumlah
DARI pembayaran
KELOMPOK MENURUT customer_id
ORDER BY total_amount DESC
BATAS 3
Gambar oleh Penulis
Catatan: Klausa Default Order By mengurutkan hasil dalam urutan ASCENDING. Beberapa penyedia SQL mendukung kata kunci TOP n untuk membatasi jumlah baris dalam hasil.
6) KASUS
Ekspresi CASE melewati kondisi dan mengembalikan nilai saat kondisi pertama terpenuhi. Contoh: Seorang pelanggan adalah pelanggan premium jika jumlahnya melebihi 50.
Gambar oleh Penulis PILIH customer_id,
SUM(jumlah) SEBAGAI jumlah_total,
KASUS
KETIKA SUM(jumlah)>=50 MAKA ‘Pelanggan Premium’
LAINNYA ‘Pelanggan Standar’
AKHIR SEBAGAI status_pelanggan
DARI pembayaran
KELOMPOK MENURUT customer_id
ORDER BY total_amount ASC
Gambar oleh Penulis
7) BERGABUNG
INNER JOIN yang akan menghasilkan baris umum antara dua tabel.
LEFT JOINMengembalikan semua baris dari tabel kiri dan baris yang cocok dari tabel kanan. Jika tidak ada baris yang cocok ditemukan di tabel kanan, NULL digunakan. RIGHT JOIN adalah kebalikan dari left join.
FULL JOIN adalah gabungan antara kiri dan kanan. Jika tidak ada baris yang cocok ditemukan di tabel kiri atau kanan, NULL digunakan.
Gambar oleh Penulis PILIH c.first_name,
c.nama_belakang,
c.id_pelanggan,
SUM(hal.jumlah)
DARI pelanggan c
pembayaran INNER JOIN p
PADA c.customer_id = p.customer_id
KELOMPOK MENURUT c.first_name,
c.nama_belakang,
c.nomor_pelanggan
Gambar oleh Penulis PILIH c.first_name,
c.nama_belakang,
c.id_pelanggan,
SUM(hal.jumlah)
DARI pelanggan c
KIRI BERGABUNG pembayaran p
PADA c.customer_id = p.customer_id
KELOMPOK MENURUT c.first_name,
c.nama_belakang,
c.nomor_pelanggan
Gambar oleh Penulis
8) Subquery
Subquery adalah kueri SQL yang bersarang di dalam kueri yang lebih besar. Contoh:
PILIH ID_pembayaran,
jumlah,
(PILIH SUM(jumlah) DARI pembayaran) SEBAGAI total_jumlah
DARI pembayaran
Gambar oleh Penulis
9) Fungsi Windows dengan Peringkat
Fungsi jendela berlaku untuk fungsi agregat dan peringkat pada jendela tertentu (kumpulan baris). Klausa OVER digunakan dengan fungsi jendela untuk mendefinisikan jendela itu. Itu dapat dikombinasikan dengan PARTITION BY dan ORDER BY .
PILIH id_pelanggan,
SUM(jumlah) SEBAGAI jumlah_total,
RANK() LEBIH (ORDER BY SUM(jumlah) DESC)
DARI pembayaran
KELOMPOK MENURUT customer_id
Gambar oleh Penulis
10) MASUKKAN, PERBARUI, HAPUS, dan POTONG
Seperti namanya INSERT digunakan untuk mendorong satu atau lebih record ke dalam tabel, sedangkan UPDATEdigunakan untuk mengubah nilai dalam tabel berdasarkan kondisi tertentu yang disediakan oleh klausa WHERE.
DELETE dan TRUNCATE keduanya digunakan untuk menghapus record dari tabel dimana DELETE menghapus record berdasarkan kondisi WHERE dan TRUNCATE menghapus semua record di tabel manapun.
Catatan: Kami telah menggunakan PostgreSQL, yang merupakan DBMS Relasional sumber terbuka, pgAdmin sebagai Klien. Kueri berjalan di database ‘dvdrental’, dan saya telah menyebutkan semua sumber tentang database dan PostgreSQL di bagian referensi.
[1] Referensi:
[2] Halaman Resmi PostgreSQL. https://www.postgresql.org/
[3] Halaman Resmi pgAdmin. https://www.pgadmin.org/
[4] Gambar buruh pelabuhan PostgreSQL. https://hub.docker.com/_/postgres
Sewa DVD DB. https://www.postgresqltutorial.com/postgresql-getting-started/load-postgresql-sample-database/
10 Kueri SQL Teratas yang harus diketahui oleh Ilmuwan Data awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.
Diterbitkan melalui Menuju AI