Table of Contents
Konsep-Konsep Inti SQL Setiap Insinyur Data Harus Tahu
Wawancara teknik data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PERSELEK dan Bersaring dengan MANA
Pernyataan adalah alat dasar untuk mengambil data. Namun, insinyur data jarang mengkueri seluruh tabel. Menapis dengan klausa sangat penting untuk penyempitan dataset secara efisien. Memahami bagaimana operator seperti , , , dan bekerja, dan menyadari implikasi kinerja penggunaan fungsi di dalam . Sebagai contoh, membungkus kolom dalam sebuah fungsi (e.g, sering mencegah indeks penggunaan; sebaliknya penggunaan berbagai kondisi seperti [[TFLTFL:8]].
YOIN: Seni Penggabungan Tabel
Rekayasa data berbasis di sekitar skema yang dinormalkan, membuat bergabung dengan kebutuhan sehari-hari. Tahu perbedaan antara INNER JOIN[, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, dan CROSS JOIN], , FULLLLL OUTER JOIN[OIN:7]], dan CROSS JOIN], mereka sering muncul sebagai hirger]]. Praktik menulis banyak yang bergabung dengan banyak orang yang menangani hubungan yang secara hati-hati menghindari low duenduplikasi baris yang lebih dalam pemahaman yang lebih dalam [[FL]][FLT].[FLT:FLT]], sering muncul juga sebagai entertainer][FLGRIL]], sering muncul sebagai entertain
Pengelompokan dan Penggolongan dengan HAVING
Data yang beragregat adalah inti dari rekayasa data. Master kelima fungsi dasar: , , , , . Pasangan mereka dengan untuk meringkas data berdasarkan kategori. Memahami perbedaan antara baris penyaringan dengan (sebelum agregasi) dan kelompok penyaringan dengan (setelah agregasi). Sebagai contoh, untuk mencari produk dengan lebih dari 100 penjualan: .
Subqueries dan Ekspresi Tabel Umum (CTE)
Subbidang memungkinkan bersarang satu pertanyaan di dalam pertanyaan lain, memungkinkan logika kompleks. Namun, CTEs (menggunakan ) sering kali lebih disukai untuk kemampuan baca dan reusabilitas. Dalam rekayasa data, CTE khususnya berguna untuk memecah transformasi besar ke dalam langkah yang dapat dikelola. CTE rekursif adalah alat kuat lain untuk menyatrarkan data terstruktur pohon, seperti bagan organisasi atau bill-of-materials. Practice menulis kedua subqueries korel dan non-korelasi.
Fungsi Jendela Pustaka untuk Analisis Lanjutan
Fungsi-fungsi jendela jakarta merupakan ciri khas dari kemampuan SQL yang bersifat intermediate-to-advanced. Mereka melakukan perhitungan di seluruh set baris tabel yang berkaitan dengan baris saat ini, tanpa grup yang runtuh. Fungsi kunci mencakup , , , , , , dan . Memahami klausa dan klausa dalam sebuah jendela berfungsi kritis. Sebagai contoh, untuk menetapkan nomor baris di dalam setiap departemen yang diurutkan oleh gaji: [[TFLT:28]]. Banyak pertanyaan yang melibatkan proses komputasi yang berjalan rata-rata, atau membandingkan semua fungsi jendela yang dapat dirata.
Pola SQL Lanjutan untuk Wawancara Teknik Data
Setelah Anda memiliki dasar, pewawancara akan mendorong Anda untuk menerapkan pola yang mencerminkan tantangan pipa data dunia nyata. di bawah ini adalah beberapa pola yang sering muncul di layar teknis.
Kompleks Kompleks Bergabung dan Berbagai Queries
Gudang data asli .A sering melibatkan skema bintang atau snowflake dengan fakta dan tabel dimensi. Practice bergabung dengan tiga atau lebih tabel secara efisien. Memahami bagaimana menggunakan LEFT JOIN untuk menjaga baris dari tabel primer ketika korek api hilang, dan bagaimana INNER JOIN[ dapat digunakan untuk menyaring catatan non-matching. Memperhatikan untuk bergabung dengan urutan — pengoptimalkan basis data biasanya menanganinya, tetapi menulis secara eksplisit bergabung dalam urutan logika membantu membaca. Sebagai contoh, e-comcemerce menggabungkan analisis tipikal: pelanggan, produk, dan barang line.
Agregat Agregat Agregat Queries dengan HAVING dan Agregasi Kondisional
Diagnose typely simple grouping, insinyur data sering membutuhkan agregat bersyarat. Gunakan pernyataan di dalam fungsi agregasi untuk menghitung berdasarkan suatu syarat: . Pola ini sangat kuat untuk menciptakan summary gaya pivot tanpa sintaksis sebenarnya . Juga praktik menggunakan , , dan untuk menghasilkan tingkat agregasi ganda dalam sebuah kueri tunggal ⁇ teknik yang sering digunakan dalam pembuatan mart data.
Rekursif CTEs untuk Data Hierarki
Banyak tugas rekayasa data yang dilakukan oleh suku praja: hierarki kategori, perakitan produk, atau koneksi jaringan sosial. CTE rekursif SQL memungkinkan anda berjalan struktur tersebut. Master anchor member (mulai titik) dan member rekursif (iter yang bergabung kembali ke CTE sendiri). Sebagai contoh, menemukan semua karyawan melaporkan (secara langsung atau tidak langsung) ke manajer tertentu. Bersiaplah untuk menangani loop tak terhingga dengan membatasi kedalaman atau menggunakan klausa deteksi siklus.
Data yang Tak Terpulih dan Menyamun
Para insinyur data lensin data lendir sering perlu mengubah data berbasis baris menjadi format columnar untuk pelaporan, atau sebaliknya untuk normalisasi. Sementara beberapa basis data memiliki dan operator, anda selalu dapat mencapai sama menggunakan dan . Sebagai contoh, untuk mengubah baris penjualan bulanan menjadi kolom terpisah untuk setiap bulan: . Memahami kedua pendekatan mendemonstrasikan fleksibilitas.
Dasar Pengoptimuman Pertanyaan
Para pewawancara AWAL untuk menghormati para calon yang berpikir tentang kinerja. Memahami bagaimana rencana eksekusi dibaca (walaupun Anda tidak dapat menafsirkan setiap node) dan mengetahui dampak indexes[. Indices on tables read in , , , dan dapat meningkatkan kecepatan secara dramatis. Waspadai Menemukan indeks], , dan dapat secara dramatis meningkatkan kecepatan. Waspadalah terhadap , kecuali untuk memilih kolom produksi[FLT]; pilihlah indeks untuk memeriksa:[46TFLT]] untuk memeriksa posisi yang digunakan sebagai berikut:[FLTFLTFLT]], dan untuk memeriksa:[butuh rujukan], dan untuk memeriksa:[butuh rujukan].
Tip Praktis untuk Wawancara SQL Anda
Teknik teknikal teknikal saja belum cukup; Anda harus menunjukkan cara berpikir dan komunikasi yang jelas selama wawancara.
¡Kordan Utama Papan Putih atau Penyunting Kongsi
Kebanyakan wawancara teknik data odeofogologi melibatkan pengodean langsung dalam lingkungan bersama. Praktek menulis pertanyaan dengan tangan atau dalam editor teks biasa tanpa auto-lengkap. Fokus pada indentasi, penamaan konsisten, dan aliran logika. Secara verbal berjalan melalui pendekatan Anda: mulai dengan tabel dasar, menjelaskan kondisi bergabung, menggambarkan filter, dan kemudian menunjukkan agregasi atau fungsi jendela. Jika Anda membuat kesalahan sintaks, perbaiki dengan keras ⁇ pewawancara menghargai proses debug.
Memahami Sistem Basis Data Anda
Basis data berbeda-beda memiliki dialek SQL yang berbeda. Bersiaplah untuk membahas sistem mana yang Anda punya pengalaman dengan (PostgreSQL, MySQL, Server SQL, BigQuery, Redshift, Snowflake, dll.). Misalnya, dalam PostgreSQL vs. dalam MySQL, atau klausa dalam Snowflake. Mengetahui keanehan menunjukkan kedalaman. Jika Anda mewawancarai di perusahaan yang menggunakan gudang modern, penelitiannya untuk fungsi seperti dokumentasi: [[TFL:52, [[FL:50]] dan [[TFL:]].
Sumber Daya Praktik Leverage Leverage
Praktik reguler dar'agus default di platform seperti LeetCode, HackerRank[, dan StrataScratch[ tidak ternilai. Bekerja melalui masalah medium dan keras, menentukan sendiri. Fokus pada masalah yang membutuhkan fungsi jendela, CTEs rekursif, atau bergabung ganda. Juga, membaca solusi dari anggota komunitas atas untuk mempelajari pendekatan alternatif. Untuk teori optimasi, Gunakan Indeks Lukas,[TFL7:7 adalah sumber daya bebas.]]
Air Terjun yang Biasa untuk Dihindari
Selama wawancara, hindari terburu-buru. Periksa ulang kondisi bergabung untuk mencegah duplikasi yang tidak diinginkan. Jika Anda menulis dan kemudian gunakan kondisi pada tabel kanan dalam klausa , Anda secara efektif mengubahnya menjadi ⁇ gunakan klausa untuk filter tersebut sebagai gantinya. Kesalahan lain yang sering dilupakan untuk subqueries alias atau CTEs. Selain itu, berhati-hatilah dengan nilai NOL dalam agregat dan bergabung dengan operasi ⁇ mereka dapat menyebabkan hasil menyesatkan. Akhirnya, jangan abaikan urutan: jika masalah atas grup per-N, per #NFL: #5] dan sebuah filter luar.
Kekecualian Kesimpulan
Mastering SQL queries adalah persyaratan yang tidak dapat dinegosiasi untuk insinyur data. Kedalaman pengetahuan SQL Anda sering secara langsung berkorelasi dengan kemampuan Anda untuk merancang pipa data yang efisien dan melakukan transformasi yang kompleks. Dengan memperkokoh pemahaman Anda tentang konsep inti seperti bergabung, agregasi, dan fungsi jendela, dan dengan mempraktikkan pola canggih seperti CTE rekursif dan optimisasi kueri, Anda akan disiapkan untuk pertanyaan wawancara yang paling banyak bahkan menuntut. Commit untuk praktik sehari-hari, rencana pelaksanaan belajar, dan mempertahankan pola belajar dengan struktur, Anda dapat berjalan ke dalam data apapun dengan penuh keyakinan.