7 Konsep SQL Yang Harus Anda Ketahui untuk Data Science

Di Googling - Seiring kemajuan teknologi dunia menuju digitalisasi, sebagian besar perusahaan sekarang digerakkan oleh data. Sejumlah besar data yang mereka kumpulkan disimpan dalam database. Pengelolaan, analisis, dan pengolahan data ini dilakukan melalui DBMS (Database Management System). Sebagai konsekuensi dari perkembangan ini, ilmu data tampil sebagai salah satu bidang yang paling berkembang dengan peluang kerja yang tak terhitung jumlahnya. Seorang ilmuwan data perlu mengekstrak data dari database dan di sinilah SQL berperan. Anda pasti ingin menguasai di bidang skill data science, bidang tersebut salah satunya adalah SQL.
Sekarang, pertanyaannya adalah: Apakah anda perlu menguasai SQL sebagai ilmuwan data scientist yang baik?
Jawabannya "TIDAK", tetapi pengetahuan tentang query SQL diperlukan karena telah menjadi standar untuk banyak sistem database. Artikel ini dimaksudkan untuk memberitaukan query SQL yang harus anda ketahui dan direkomendasikan oleh para ilmuan data science.
Kebutuhan SQL dalam Data Science
SQL adalah singkatan dari Structured Query Language dan ditujukan untuk mengelola database relasional. Pertama-tama mari kita pahami kebutuhan SQL dalam data science. Apa yang membuatnya unik dan salah satu skill yang paling dicari dalam data science? Di bawah ini adalah beberapa poin untuk membantu anda memahami pentingnya SQL:
- Penggunaan Luas: Meskipun berusia sekitar 40 tahun, ini digunakan untuk query di sebagian besar sistem database relasional dan telah menjadi alat standar untuk bereksperimen dengan data.
- Menyederhanakan Pemahaman Data: SQL sangat berguna dalam menavigasi konten database. Itu membuat anda memahami kekhasan secara efektif.
- Mudah Dipelajari: Ini adalah titik awal yang sempurna untuk pemula dengan syntax sederhana seperti bahasa Inggris dan Anda dapat mengambil wawasan berharga hanya dengan beberapa baris kode.
- Memungkinkan pemrosesan big data: SQL memungkinkan anda untuk mengelola sejumlah besar data secara terorganisir menjadikannya pilihan ideal untuk aplikasi data science.
- Kompatibilitas dengan programming languages & applications lain: Mengintegrasikan SQL dengan bahasa seperti Python, C++, R, dll sangat mudah. Ini juga mendukung intelijen bisnis dan alat visualisasi data seperti Power BI, dan Tableau membuat proses pengembangan sedikit lebih mudah.
Konsep SQL
1. Pengertian Basic Commands
Pengetahuan dasar tentang basic commands dapat menjadi pondasi dalam membantu pembelajaran dimasa depan nantinya. Jika tidak, anda hanya akan menghafal tanpa memahami bagaimana yang membuat susah untuk dipelajari. Beberapa perintah SQL yang paling umum digunakan adalah sebagai berikut:
- SELECT & FROM: untuk mengambil atribut data dari tabel tersebut.
- SELECT DISTINCT: menghilangkan baris duplikat dan hanya menampilkan catatan unik.
- WHERE: ini memfilter catatan dan hanya menampilkan yang memenuhi kondisi yang diberikan.
- AND, OR, NOT: tidak mengeksekusi query ketika kondisinya tidak True. Sementara, DAN dan ATAU digunakan untuk menerapkan beberapa kondisi.
- ORDER BY: ini mengurutkan data dalam urutan naik atau turun
- GROUP BY: ini mengelompokkan data yang identik.
- HAVING: data yang dikumpulkan oleh Grup Menurut dapat disaring lebih lanjut di sini.
- Aggregate functions: Aggregate functions seperti COUNT(), MAX(), MIN(), AVG(), dan SUM() digunakan untuk melakukan operasi pada data yang diberikan.
Mari kita ambil contoh untuk menerapkannya ke tabel Karyawan:
ID | Name | Department | Salary ($) | Gender |
1 | Julia | Admin | 20000 | F |
2 | Jasmine | Admin | 15000 | F |
3 | John | IT | 20000 | M |
4 | Mark | Admin | 17000 | M |
Sekarang, kami ingin mendapatkan gaji rata-rata perempuan yang bekerja di Departemen Admin.
SELECT Department,
AVG(Salary)
FROM Employees
WHERE Gender="F"
GROUP BY Department
HAVING Department = "Admin";
Output:
Admin | 17500.0
2. Case Where
Ini adalah pernyataan yang sangat powerful dan fleksibel dalam SQL yang digunakan untuk menulis pernyataan bersyarat yang kompleks. Ini menawarkan fungsionalitas pernyataan IF.THEN.ELSE. Mari kita lihat syntaxnya,
CASE expression
WHEN value_1 THEN result_1
WHEN value_2 THEN result_2
...
WHEN value_n THEN result_n
ELSE result
END
Itu mengeksekusi pernyataan dalam urutan dan mengembalikan nilai segera setelah kondisinya menjadi True. Jika tidak ada kondisi yang terpenuhi, blok ELSE dijalankan dan jika tidak ada, NULL dikembalikan.
Misalkan, kita memiliki Database Siswa dan kita ingin menilai mereka berdasarkan nilai mereka, maka pernyataan SQL berikut dapat digunakan:
SELECT student_name,
marks,
CASE
WHEN marks >= 85 THEN 'A'
WHEN marks >= 75
AND marks < 85 THEN 'B+'
WHEN marks >= 65
AND marks < 75 THEN 'B'
WHEN marks >= 55
AND marks < 65 THEN 'C'
WHEN marks >= 45
AND marks < 55 THEN 'D'
ELSE 'F'
END AS grading
FROM Students;
3. Subqueries
Sebagai seorang data science, pengetahuan tentang subqueries sangat penting karena mereka harus bekerja dengan tabel yang berbeda dan hasil dari satu query dapat digunakan lagi untuk lebih membatasi data dalam query utama. Ini juga dikenal sebagai query bersarang atau kueri dalam. Subquery harus diapit dalam tanda kurung dan dieksekusi sebelum query utama. Jika mengembalikan lebih dari satu baris, maka ini disebut subquery multi-baris dan operator multi-baris harus digunakan dengannya.
Misalkan perusahaan asuransi memperkenalkan polisi baru dan membatalkan asuransi orang yang usianya telah melebihi 80 tahun. Hal ini dapat dilakukan dengan bantuan subquery sebagai berikut:
DELETE
FROM INSURANCE_CUSTOMERS
WHERE AGE IN
(SELECT AGE
FROM INSURANCE_CUSTOMERS
WHERE AGE > 80 );
Subkueri dalam memilih semua pelanggan yang berusia di atas 80 tahun dan kemudian operasi Hapus dilakukan pada grup ini.
4. Joins
Joins SQL digunakan untuk menggabungkan baris dari beberapa tabel berdasarkan hubungan logis di antara mereka. 4 jenis join SQL tercantum di bawah ini:
- Inner Join: inner join hanya menampilkan baris-baris dari kedua tabel yang memenuhi kondisi yang diberikan. Ini dapat disebut sebagai persimpangan dalam terminologi himpunan.
SELECT Student.Name
FROM Student
INNER JOIN Sports ON Student.ID = Sports.ID;
Ini mengembalikan para siswa yang telah mendaftarkan diri dalam olahraga. Catatan: ID Olahraga sama dengan ID pendaftaran Siswa.
- Left Join: ini mengembalikan semua record dari tabel LEFT sementara hanya record yang cocok dari tabel kanan yang ditampilkan.
SELECT Student.Name
FROM Student
LEFT JOIN Sports ON Student.ID = Sports.ID;
- Right Join: Ini kebalikan dari apa yang dilakukan gabung kiri
SELECT Student.Name
FROM Student
RIGHT JOIN Sports ON Student.ID = Sports.ID;
- Full Join: ini berisi semua baris dari kedua tabel dan jika tidak memiliki entri yang sesuai, nilai NULL akan ditampilkan.
SELECT Student.Name
FROM Student
FULL JOIN Sports ON Student.ID = Sports.ID;
5. Stored Procedures
Prosedur tersimpan memungkinkan kita untuk menyimpan beberapa pernyataan SQL dalam database kita untuk digunakan nanti. Ini memungkinkan penggunaan kembali dan juga dapat menerima nilai parameter saat dipanggil. Ini meningkatkan kinerja dan lebih mudah untuk melakukan modifikasi apa pun dengannya.
CREATE PROCEDURE SelectStudents @Major nvarchar(30),
@Grade char(1) AS
SELECT *
FROM Students
WHERE Major = @Major
AND Grade = @Grade GO;
EXEC SelectStudents @Major = 'Data Science',
@Grade = 'A';
Prosedur ini memungkinkan kami untuk mengekstrak siswa dari berbagai jurusan berdasarkan nilai mereka. Misalnya, kami mencoba mengekstraksi semua siswa dengan jurusan Ilmu Data yang memiliki nilai A. Perhatikan bahwa CREATE PROCEDURE sama seperti deklarasi fungsi dan perlu dipanggil menggunakan EXEC untuk tujuan eksekusi.
6. String Formatting
Kita semua tahu bahwa data mentah perlu dibersihkan untuk meningkatkan produktivitas secara keseluruhan yang menghasilkan pengambilan keputusan yang berkualitas. Pemformatan string memainkan peran besar dalam konteks ini dan melibatkan manipulasi string untuk menghapus hal-hal yang tidak relevan. SQL menawarkan berbagai fungsi string untuk mengubah dan bekerja dengan string. 5 yang paling umum digunakan di antara mereka adalah sebagai berikut:
- CONCAT: digunakan untuk menambahkan dua atau lebih string secara bersamaan.
SELECT CONCAT(Name, ' has a major of ', Major)
FROM Students
WHERE student_Id = 37;
- SUBSTR: ia mengembalikan bagian string dan mengambil posisi awal dan panjang substring yang akan dikembalikan dalam parameternya.
SELECT student_name,admission_date,
SUBSTR(admission_date, 4, 2) AS day
FROM Students
Kolom hari akan muncul terpisah yang diekstrak dari admission_date.
- TRIM: tugas utama trim adalah menghapus karakter dari awal string, akhir string atau keduanya jika ditentukan. Anda harus menentukan awalan, akhiran, atau keduanya, lalu karakter yang akan dihapus diikuti dengan string yang akan dihapus.
SELECT age,
TRIM(trailing ' years' FROM age)
FROM Students
Ini akan mengubah "26 tahun" menjadi "26".
- INSERT: ini memungkinkan kita untuk memasukkan string ke dalam string yang diberikan pada posisi yang ditentukan. Anda harus menyebutkan posisi dan panjang substring baru yang ingin Anda tulis. Perhatikan bahwa string baru ini akan menimpa teks sebelumnya.
SELECT INSERT("OldWebsite.com", 1, 9, "NewWebsite");
Ini akan diperbarui ke NewWebsite.com.
- COALESCE: dapat digunakan untuk mengganti nilai nol dengan nilai yang ditentukan pengguna yang sering diperlukan dalam ilmu data.
SELECT COALESCE (NULL, NULL, 10, 'John’')
Ini akan mengembalikan 10.
7. Window Functions
Window functions mirip dengan fungsi aggregate tetapi tidak menyebabkan baris Anda diperkecil menjadi satu baris setelah perhitungan. Sebaliknya, baris mempertahankan identitasnya yang terpisah. Mereka dikelompokkan menjadi tiga kategori utama:
- Aggregate functions: ini menampilkan nilai aggregate dari kolom numerik seperti AVG(), COUNT(), MAX(), MIN(), SUM(), dll.
SELECT name,
AVG(salary) over (PARTITION BY department)
FROM Employees;
Ini menampilkan gaji rata-rata dari berbagai departemen dari Tabel Karyawan.
- Value functions: setiap partisi diberi beberapa nilai menggunakan fungsi value window. Beberapa fungsi nilai yang paling umum digunakan adalah LAG(), LEAD(), FIRST_VALUE(), LAST_VALUR(), dan NTH_VALUE().
SELECT
bank_branch, month, income,
LAG(income,1) OVER (
PARTITION BY bank_branch
ORDER BY month
) income_next_month
FROM Bank;
Kami membandingkan pendapatan berbagai cabang bank untuk bulan ini dengan yang sebelumnya.
- Ranking Functions: mereka berguna untuk menetapkan peringkat ke baris berdasarkan beberapa urutan yang telah ditentukan sebelumnya. ROW_NUMBER(), RANK(), DENSE_RANK(), PERCENT_RANK(), NTILE() adalah beberapa di antaranya.
SELECT
product_name, price,
RANK () OVER (
ORDER BY list DESC
) price_hightolow
FROM Products;
Produk diberi peringkat berdasarkan harganya menggunakan RANK().
Demikian pembahasan 7 Konsep SQL Yang Harus Anda Ketahu untuk Data Science. Saya harap anda menikmati membaca artikel digoogling.com ini dan memberi anda pemahaman komprehensif tentang seberapa banyak SQL yang perlu anda ketahui sebagai data science.