
Terjemahan artikel disiapkan untuk siswa dari kursus "Pengembang MS SQL Server"
Database relasional adalah salah satu database yang paling umum digunakan hingga saat ini, dan oleh karena itu diperlukan keterampilan SQL untuk sebagian besar posting. Pada artikel ini, dengan pertanyaan SQL dari wawancara, saya akan memperkenalkan Anda pada pertanyaan yang paling sering diajukan tentang SQL (Structured Query Language - Structured Query Language). Artikel ini adalah panduan ideal untuk mengeksplorasi semua konsep yang berkaitan dengan SQL, Oracle, MS SQL Server dan database MySQL.
Artikel pertanyaan SQL kami adalah sumber universal yang dapat membantu Anda mempercepat persiapan wawancara Anda. Ini terdiri dari serangkaian 65 pertanyaan paling umum yang bisa ditanyakan pewawancara selama wawancara. Biasanya dimulai dengan pertanyaan SQL dasar dan kemudian beralih ke pertanyaan yang lebih kompleks berdasarkan diskusi dan jawaban Anda. Pertanyaan wawancara SQL ini akan membantu Anda memaksimalkan manfaat di berbagai tingkat pemahaman.
Ayo mulai!
Wawancara Pertanyaan SQL
Pertanyaan 1. Apa perbedaan antara DELETE dan TRUNCATE?
Tidak. Pertanyaan 2. Apa himpunan bagian dari SQL?
- DDL (Data Definition Language) - memungkinkan Anda untuk melakukan berbagai operasi dengan database, seperti BUAT (buat), ALTER (ubah) dan DROP (hapus objek).
- DML (Data Manipulation Language) - memungkinkan Anda untuk mengakses dan memanipulasi data, misalnya menyisipkan, memperbarui, menghapus, dan mengambil data dari database.
- DCL (Data Control Language) - memungkinkan Anda untuk mengontrol akses ke database. Contohnya adalah GRANT (hak hibah), REVOKE (hak pencabutan).
Pertanyaan 3. Apa yang dimaksud dengan DBMS? Apa jenis DBMS yang ada?
Database adalah pengumpulan data terstruktur. Database Management System (DBMS) - perangkat lunak yang berinteraksi dengan pengguna, aplikasi dan database itu sendiri untuk mengumpulkan dan menganalisis data. DBMS memungkinkan pengguna untuk berinteraksi dengan database. Data yang disimpan dalam database dapat dimodifikasi, diambil dan dihapus. Mereka bisa dari jenis apa saja, seperti string, angka, gambar, dll.
Ada dua jenis DBMS:
- Sistem manajemen basis data relasional: data disimpan dalam hubungan (tabel). Contohnya adalah MySQL.
- Sistem manajemen basis data non-relasional: tidak ada konsep hubungan, tupel dan atribut. Contohnya adalah Mongo.
Pertanyaan 4. Apa yang dimaksud dengan tabel dan bidang dalam SQL?
Tabel adalah kumpulan data yang diatur dalam bentuk baris dan kolom. Bidang adalah kolom dalam tabel. Sebagai contoh:
Tabel: Informasi Siswa_
Bidang: Stu_Id, Stu_Name, Stu_Marks
Pertanyaan 5. Apa yang bergabung dalam SQL?
Operator BERGABUNG digunakan untuk bergabung dengan baris dari dua atau lebih tabel berdasarkan kolom yang terhubung di antara mereka. Ini digunakan untuk bergabung dengan dua tabel atau mendapatkan data dari sana. Ada 4 jenis koneksi dalam SQL, yaitu:
- Bergabunglah dengan Batin
- Bergabunglah dengan Benar
- Kiri Gabung
- Bergabung Penuh
Pertanyaan 6. Apa perbedaan antara tipe data CHAR dan VARCHAR dalam SQL?
Baik Char dan Varchar berfungsi sebagai tipe data karakter, tetapi varchar digunakan untuk string karakter panjang variabel, sementara Char digunakan untuk string panjang tetap. Misalnya, char (10) hanya dapat menyimpan 10 karakter dan tidak dapat menyimpan string dengan panjang lainnya, sementara varchar (10) dapat menyimpan string dengan panjang apa pun hingga 10, yaitu. mis. 6, 8, atau 2.
Pertanyaan 7. Apa itu kunci utama?

- Kunci utama adalah kolom atau kumpulan kolom yang secara unik mengidentifikasi setiap baris dalam tabel.
- Mengidentifikasi satu baris dalam tabel secara unik
- Nilai kosong tidak diizinkan
_Contoh: Di tabel Student Stu, kunci utama adalah.
Pertanyaan 8. Apa itu Kendala?
Batasan digunakan untuk menunjukkan batasan pada tipe data tabel. Mereka dapat ditentukan saat membuat atau memodifikasi tabel. Pembatasan contoh:
- BUKAN NULL
- PERIKSA
- DEFAULT
- UNIK
- KUNCI UTAMA
- KUNCI ASING
Pertanyaan 9. Apa perbedaan antara SQL dan MySQL?
SQL adalah Structured Query Language standar berdasarkan bahasa Inggris, sedangkan MySQL adalah sistem manajemen basis data. SQL adalah bahasa basis data relasional yang digunakan untuk akses dan manajemen data, MySQL adalah sistem manajemen basis data relasional (DBMS), serta SQL Server, Informix, dll.
Pertanyaan 10. Apa itu kunci unik?
- Mengidentifikasi satu baris dalam tabel secara unik.
- Banyak kunci unik diizinkan dalam satu tabel.
- Nilai NULL diizinkan ( catatan terjemahan: tergantung pada DBMS; dalam SQL Server, NULL hanya dapat ditambahkan satu kali dalam bidang dengan KUNCI UNIK ).
Pertanyaan 11. Apa itu kunci asing?
- Kunci asing mempertahankan integritas referensial dengan menyediakan tautan antara data dalam dua tabel.
- Kunci asing di tabel anak mengacu pada kunci utama di tabel induk.
- Batasan kunci asing mencegah tindakan yang memutuskan hubungan antara tabel anak dan orang tua.
Pertanyaan 12. Apa yang dimaksud dengan integritas data?
Integritas data menentukan akurasi serta konsistensi data yang disimpan dalam database. Ini juga mendefinisikan batasan integritas untuk menegakkan aturan bisnis untuk data ketika mereka dimasukkan ke dalam aplikasi atau database.
Pertanyaan 13. Apa perbedaan antara indeks clustered dan nonclustered dalam SQL?
- Perbedaan antara indeks clustered dan non-clustered di SQL:
Indeks berkerumun digunakan untuk dengan mudah dan cepat mengambil data dari database, sementara membaca dari indeks yang tidak berkerumun relatif lebih lambat. - Indeks berkerumun mengubah cara catatan disimpan dalam database - itu mengurutkan baris dengan kolom yang ditetapkan sebagai indeks berkerumun, sementara dalam indeks yang tidak berkerumun itu tidak mengubah metode penyimpanan, tetapi membuat objek terpisah di dalam tabel yang menunjuk ke baris tabel asli saat mencari.
- Satu tabel hanya dapat memiliki satu indeks berkerumun, sementara itu dapat memiliki banyak yang tidak bersarang.
Pertanyaan 14. Tulis kueri SQL untuk menampilkan tanggal saat ini.
SQL memiliki fungsi GetDate () bawaan yang membantu mengembalikan stempel waktu / tanggal saat ini.
Pertanyaan 15. Sebutkan jenis-jenis koneksi
Ada berbagai jenis gabungan yang digunakan untuk mengekstraksi data antar tabel. Pada dasarnya, mereka dibagi menjadi empat jenis, yaitu:

Bergabunglah dalam : Di MySQL, jenis yang paling umum. Ini digunakan untuk mengembalikan semua baris dari beberapa tabel yang memenuhi syarat bergabung.
Gabung Kiri : di MySQL digunakan untuk mengembalikan semua baris dari tabel kiri (pertama) dan hanya mencocokkan baris dari tabel kanan (kedua) yang kondisi gabungnya terpenuhi.
Gabung Kanan : di MySQL digunakan untuk mengembalikan semua baris dari tabel kanan (kedua) dan hanya mencocokkan baris dari tabel kiri (pertama) yang syarat gabungnya dipenuhi.
Gabung Penuh : Mengembalikan semua catatan yang cocok dengan tabel mana pun. Oleh karena itu, ia mengembalikan semua baris dari tabel kiri dan semua baris dari tabel kanan.
Pertanyaan 16. Apa yang Anda maksud dengan denasionalisasi?
Denormalisasi adalah teknik yang digunakan untuk mengubah bentuk normal dari tinggi ke rendah. Ini membantu pengembang database meningkatkan kinerja seluruh infrastruktur dengan memperkenalkan redundansi ke dalam tabel. Itu menambahkan data yang berlebihan ke tabel, mengingat permintaan database sering yang menggabungkan data dari tabel yang berbeda ke dalam satu tabel.
Pertanyaan 17. Apa itu entitas dan hubungan?
Entitas: seseorang, tempat atau objek di dunia nyata, data yang dapat disimpan dalam database. Tabel menyimpan data yang mewakili satu jenis entitas. Misalnya, database bank memiliki tabel pelanggan untuk menyimpan informasi pelanggan. Tabel pelanggan menyimpan informasi ini sebagai satu set atribut (kolom dalam tabel) untuk setiap pelanggan.
Hubungan: hubungan atau hubungan antara entitas yang entah bagaimana terkait satu sama lain. Misalnya, nama pelanggan dikaitkan dengan nomor akun pelanggan dan informasi kontak, yang mungkin ada di tabel yang sama. Mungkin juga ada hubungan antara tabel individual (misalnya, pelanggan ke akun).
Pertanyaan 18. Apa itu indeks?
Indeks terkait dengan metode penyempurnaan kinerja yang memungkinkan pengambilan rekaman lebih cepat dari sebuah tabel. Indeks membuat struktur terpisah untuk bidang yang diindeks dan, oleh karena itu, memungkinkan pengambilan data lebih cepat.
Pertanyaan 19. Jelaskan berbagai jenis indeks.
Ada tiga jenis indeks, yaitu:
- Indeks Unik: Indeks ini mencegah bidang dari memiliki nilai duplikat jika kolom diindeks secara unik. Jika kunci utama didefinisikan, indeks unik dapat diterapkan secara otomatis.
- Clustered Index: Indeks ini mengubah urutan fisik tabel dan pencarian berdasarkan nilai-nilai kunci. Setiap tabel hanya dapat memiliki satu indeks berkerumun.
- Non-Clustered Index: Tidak mengubah urutan fisik tabel dan mempertahankan urutan logis data. Setiap tabel dapat memiliki banyak indeks non-cluster.
Pertanyaan 20. Apa itu normalisasi dan apa kelebihannya?
Normalisasi adalah proses pengorganisasian data, yang tujuannya adalah untuk menghindari duplikasi dan redundansi. Beberapa manfaat:
- Organisasi Basis Data Terbaik
- Lebih banyak tabel dengan baris kecil
- Akses Data yang Efektif
- Fleksibilitas yang lebih besar untuk permintaan
- Pencarian informasi cepat
- Lebih mudah untuk mengimplementasikan keamanan data
- Mengizinkan modifikasi mudah
- Mengurangi data yang berlebihan dan duplikat
- Database yang lebih ringkas
- Memastikan konsistensi data setelah perubahan
Pertanyaan 21. Apa perbedaan antara DROP dan TRUNCATE?
Perintah DROP menghapus tabel itu sendiri, dan Anda tidak bisa membuat perintah Rollback, sementara perintah TRUNCATE menghapus semua baris dari tabel ( terjemahan catatan: di SQL Server, Rollback biasanya akan bekerja dan memutar kembali DROP ).
Pertanyaan 22. Jelaskan berbagai jenis normalisasi.
Ada banyak level normalisasi yang berurutan. Inilah yang disebut bentuk normal. Setiap bentuk normal berikutnya termasuk yang sebelumnya. Tiga bentuk normal pertama biasanya cukup.
- Bentuk Normal Pertama (1NF) - tidak ada grup duplikat dalam baris
- Bentuk normal kedua (2NF) - setiap nilai kolom non-kunci (pendukung) tergantung pada seluruh kunci utama
- Bentuk normal ketiga (3NF) - setiap nilai bukan kunci hanya bergantung pada kunci utama dan tidak tergantung pada nilai bukan kunci lain dari kolom
Pertanyaan 23. Apa properti ACID dalam database?
ACID berarti Atomicity, Consistency, Isolasi, Durability. Ini digunakan untuk menyediakan pemrosesan transaksi data yang andal dalam sistem basis data.
Atomicity. Memastikan bahwa transaksi sepenuhnya selesai atau gagal, di mana transaksi mewakili operasi data logis tunggal. Ini berarti bahwa jika satu bagian dari setiap transaksi gagal, seluruh transaksi gagal dan keadaan basis data tetap tidak berubah.
Koherensi Memastikan bahwa data harus mematuhi semua aturan validasi. Sederhananya, Anda dapat mengatakan bahwa transaksi Anda tidak akan pernah meninggalkan database Anda dalam keadaan tidak valid.
Isolasi. Tujuan utama isolasi adalah untuk mengontrol mekanisme perubahan data paralel.
Umur panjang. Durabilitas menyiratkan bahwa jika transaksi dikonfirmasi (COMMIT), perubahan yang terjadi dalam transaksi akan dipertahankan terlepas dari apa yang mungkin menghalangi mereka (misalnya, kehilangan daya, kegagalan, atau kesalahan apa pun).
Pertanyaan 24. Apa yang Anda maksud dengan "pemicu" dalam SQL?
Pemicu dalam SQL adalah jenis khusus prosedur tersimpan yang dirancang untuk dijalankan secara otomatis ketika atau setelah perubahan data. Ini memungkinkan Anda untuk menjalankan paket kode ketika menyisipkan, memperbarui, atau kueri lainnya dilakukan pada tabel tertentu.
Pertanyaan 25. Pernyataan apa yang tersedia dalam SQL?
Tiga jenis pernyataan tersedia dalam SQL, yaitu:
- Operator Aritmatika
- Operator yang logis
- Operator pembanding
Pertanyaan 26. Apakah nilai NULL cocok dengan nol atau spasi?
NULL bukan nol atau spasi sama sekali. Nilai NULL mewakili nilai yang tidak tersedia, tidak diketahui, ditugaskan, atau tidak berlaku, sedangkan nol adalah angka dan spasi adalah karakter.
Pertanyaan 27. Apa perbedaan antara gabungan silang dan gabungan alami?
Gabung silang membuat produk silang atau Cartesian dari dua tabel, sementara gabungan alami didasarkan pada semua kolom yang memiliki nama dan tipe data yang sama di kedua tabel.
Pertanyaan 28. Apa itu subquery dalam SQL?
Subquery adalah kueri di dalam kueri lain yang mendefinisikan kueri untuk mengambil data atau informasi dari database. Dalam subquery, kueri luar disebut kueri utama, sedangkan kueri dalam disebut subquery. Subquery selalu dijalankan terlebih dahulu, dan hasil dari subquery diteruskan ke query utama. Itu bisa bersarang di SELECT, UPDATE, atau permintaan lainnya. Subquery juga dapat menggunakan operator perbandingan apa pun, seperti>, <, atau =.
Pertanyaan 29. Apa saja jenis sub-kueri?
Ada dua jenis subquery, yaitu: berkorelasi dan tidak berkorelasi.
- Subquery yang terkait: ini adalah kueri yang memilih data dari tabel dengan tautan ke kueri eksternal. Itu tidak dianggap sebagai permintaan independen karena merujuk ke tabel atau kolom lain dalam tabel.
- Subquery tidak berkorelasi: Query ini adalah queri independen di mana output subquery diganti menjadi query utama.
Pertanyaan 30. Sebutkan cara untuk mendapatkan jumlah catatan dalam tabel?
Untuk menghitung jumlah rekaman dalam tabel, Anda dapat menggunakan perintah berikut:
SELECT * FROM table1
SELECT COUNT(*) FROM table1
SELECT rows FROM sysindexes WHERE id = OBJECT_ID(table1) AND indid < 2
Kami akan menerbitkan 35 pertanyaan lainnya dengan jawaban di bagian selanjutnya ... Ikuti beritanya!