Pertanyaan Wawancara MySQL:
Di era 2,5 Triliun byte data yang dihasilkan setiap hari, data memainkan peran penting dalam pengambilan keputusan untuk operasi bisnis. Ini pada dasarnya membuat kita menangani data dalam database dan memberi kita kebutuhan untuk menggunakan sistem manajemen database. Dengan berbagai macam Sistem Manajemen Basis Data (DBMS) yang ada di pasaran saat ini, Sistem Manajemen Basis Data Relasional (RDBMS) adalah salah satu sistem paling populer yang tersedia. Jenis DBMS ini, menggunakan struktur yang memungkinkan pengguna untuk mengidentifikasi dan mengakses data dalam hubungannya ke bagian lain dari data dalam database, dan MySQL adalah salah satu RDBMS yang populer. Nah, mengetahui MYSQL membuka pintu bagi Anda untuk menjadi Administrator Database. Saya yakin Anda sudah mengetahui fakta-fakta ini dan ini membuat Anda mendarat di artikel Pertanyaan Wawancara MySQL ini.
Dalam artikel tentang Pertanyaan Wawancara MySQL ini, saya akan membahas pertanyaan teratas terkait MySQL yang ditanyakan dalam wawancara Anda. Pertanyaan-pertanyaan ini dikumpulkan setelah berkonsultasi dengan orang-orang yang memiliki keterampilan yang sangat baik di bidang ini. Untuk pemahaman Anda yang lebih baik, saya telah membagi artikel menjadi beberapa bagian berikut:
- Pertanyaan Wawancara DBA MySQL
- Pertanyaan Wawancara PHP MySQL
- Pertanyaan Wawancara Kompleks MySQL
- Pertanyaan Wawancara MySQL yang Rumit
Jadi, mari kita mulai teman-teman.
Pertanyaan Wawancara DBA MySQL
Q1. Bisakah Anda membedakan antara Mysql_connect dan Mysql_pconnect?
Mysql_connect | Digunakan untuk membuka koneksi baru ke database. |
Anda dapat membuka dan menutup koneksi database berdasarkan permintaan. | |
Membuka halaman setiap kali halaman dimuat. | |
Mysql_connect vs Mysql_pconnect | |
Mysql_pconnect | Digunakan untuk membuka koneksi persisten dalam database. |
Anda tidak dapat menutup koneksi database. | |
Tidak perlu membuka dan menutup koneksi setiap kali halaman dimuat. |
Q2. Apa port default untuk server MySQL?
Port default MySQL Server adalah 3306 . Selain itu, port standar standar lain untuk SQL Server di TCP/IP adalah 1433 .
Q3. Bisakah Anda memberi tahu apa saja set operasi berbeda yang tersedia di MySQL?
Berbagai operasi set yang tersedia di MySQL adalah sebagai berikut:
- UNION – Operasi ini mengembalikan semua baris berbeda yang dipilih oleh kueri
- UNI SEMUA – Operasi ini mengembalikan semua baris yang dipilih oleh kueri dan juga menyertakan semua baris duplikat.
- MINUS – Operasi ini mengembalikan semua baris berbeda yang dipilih oleh kueri pertama tetapi tidak memilih baris yang dipilih oleh kueri kedua.
- INTERSECT – Operasi ini mengembalikan semua baris berbeda yang dipilih oleh kedua kueri.
Lihat gambar di bawah ini:
Q4. Bisakah Anda memberi tahu urutan pernyataan SQL SELECT?
Urutan pernyataan SQL SELECT adalah sebagai berikut:
SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.
Q5. Apa itu Pengujian Kotak Putih Basis Data?
Pengujian Whitebox Database berkaitan dengan tabel, model data, skema, dan aturan integritas referensial. Ini juga berkaitan dengan pemicu, tampilan logis dengan konsistensi database, dan properti ACID.
Q6. Apa itu Pengujian Kotak Hitam Basis Data?
Pengujian Kotak Hitam Basis Data berkaitan dengan pemetaan data, penyimpanan, dan pengambilan data. Database Black Box Testing digunakan untuk teknik seperti Equivalence Partitioning dan Boundary Value Analysis.
Q7. Apa itu CTE?
Sebuah ekspresi yang terdiri dari sekumpulan hasil sementara yang didefinisikan dalam pernyataan SQL disebut sebagai Common Table Expression(CTE).
Q8. Apa saja tabel berbeda yang ada di Mysql?
Terutama ada lima jenis tabel yang ada di MySQL. Dari semua mesin database ini, mesin database default yang digunakan di MySQL adalah MyISAM. Lihat di bawah untuk mengetahui lima jenis tabel:
- MyISAM
- Tumpukan
- Gabungkan
- INNO DB
- ISAM
Q9. Apa itu Kursor?
Dianggap sebagai penunjuk untuk menunjuk ke satu baris dalam satu set baris, Kursor tidak lain adalah kontrol yang memungkinkan traversal atas catatan dalam tabel. Jadi, kursor digunakan untuk melakukan tindakan melintasi seperti penambahan, pengambilan, dan penghapusan catatan dalam database.
Q10. Bagaimana Anda bisa menguji nilai NULL dalam database?
Nilai NULL adalah bidang tanpa nilai yang ada di bidang tertentu. Karena nilai NULL tidak dapat dibandingkan dengan nilai NULL lainnya, Anda tidak dapat menggunakan operator perbandingan seperti =, <, atau <>. Untuk membandingkan bidang dengan nilai NULL, Anda harus menggunakan operator IS NULL dan IS NOT NULL.
Lihat di bawah untuk Sintaks IS NULL dan IS NOT NULL.
SELECT column_names FROM table_name WHERE column_name IS NULL; SELECT column_names FROM table_name WHERE column_name IS NOT NULL;
Q11. Bisakah Anda menguraikan BLOB dan TEXT di MySQL?
BLOB
BLOB(Binary Large Object) digunakan untuk menampung sejumlah data variabel dan menampung hingga 65.535 byte data. Berikut ini adalah empat jenis BLOB.
- TINYBLOB
- BLOB
- MEDIUMBLOB
- GELOMBANG PANJANG
TEXT
TEXT digunakan untuk menyimpan nilai string dan menampung hingga panjang maksimum 65.535 karakter. Berikut ini adalah empat jenis TEXT
- TINYTEXT
- TEKS
- MEDIUMTEXT
- TEKS PANJANG
Q12. Bisakah Anda memberi tahu bagaimana Anda bisa menampilkan gaji Maksimum dalam SQL?
Untuk menampilkan gaji maksimum dalam SQL, Anda dapat menggunakan fungsi bawaan yang disebut MAX().
Q13. Apa perbedaan antara fungsi NVL, fungsi IFNULL, dan fungsi ISNULL?
Fungsi NVL, fungsi IFNULL, dan fungsi ISNULL semuanya digunakan untuk mengganti nilai NULL dengan nilai lain. Pengguna ORACLE menggunakan fungsi NVL, pengguna MySQL menggunakan fungsi IFNULL dan server SQL menggunakan fungsi ISNULL
Misalnya, kita memiliki kolom(column_3) yang memiliki nilai NULL.
Jadi, jika Anda menjalankan pernyataan di bawah ini, output yang akan Anda dapatkan adalah nilai NULL.
SELECT column_1 * (column_2 + column_3) FROM Example_Table
Nah, untuk mengatasinya, Anda bisa menggunakan ketiga fungsi di atas sebagai berikut:
SELECT column_1 * (column_2 + NVL(column_3,0)) FROM Example_Table SELECT column_1 * (column_2 + IFNULL(column_3,0)) FROM Example_Table SELECT column_1 * (column_2 + ISNULL(column_3,0)) FROM Example_Table
Q14. Apa perbedaan antara Pengujian GUI dan Pengujian Basis Data?
Pengujian GUI | Pengujian Basis Data |
Juga dikenal sebagai Pengujian Antarmuka Pengguna dari Pengujian Front-end. | Juga dikenal sebagai Pengujian Back-End atau Pengujian Data. |
Berurusan dengan item yang berinteraksi dengan pengguna. | Menangani item yang disembunyikan dari pengguna. |
Penguji tidak perlu mengetahui SQL. | Penguji perlu mengetahui SQL. |
Pengujian GUI berfokus pada tampilan aplikasi | Pengujian Basis Data berfokus pada integritas data di bagian depan dengan data yang ada di bagian belakang |
Q15. Bagaimana Cara Menampilkan Gaji Tertinggi Ke-N Dari Tabel Dalam Query Mysql?
Pertimbangkan tabel bernama “Karyawan”.
Sekarang, untuk mencari gaji ke-N perhatikan pernyataan di bawah ini.
SELECT DISTINCT(salary) FROM employee ORDER BY salary DESC LIMIT n-1,1
Jadi, jika Anda ingin mengetahui gaji terbesar ke-7, perhatikan kueri di bawah ini.
SELECT DISTINCT(salary) FROM employee ORDER BY salary DESC LIMIT 6,1
Sekarang, mari kita beralih ke rangkaian pertanyaan berikutnya, yaitu Pertanyaan Wawancara PHP MySQL.
Pertanyaan Wawancara PHP MySQL
Q1. Apa perintah yang digunakan untuk membuat database menggunakan PHP dan MySQL?
Perintah yang digunakan untuk membuat database menggunakan PHP dan MySQL adalah mysql_create_db(“Database Name”).
Q2. Bisakah Anda Membedakan Antara Mysql_fetch_object Dan Mysql_fetch_array?
Keduanya serupa tetapi berbeda dengan satu perbedaan. Mysql_fetch_object kembali sebagai objek dan Mysql_fetch_array mengembalikan array. Ini berarti bahwa Anda tidak dapat mengakses data dengan offsetnya tetapi hanya dapat mengakses melalui nama bidangnya.
Q3:Apa saja cara Anda dapat mengambil data di kumpulan hasil MySQL menggunakan PHP?
Berbagai cara Anda dapat mengambil data di kumpulan hasil MySQL menggunakan PHP adalah sebagai berikut:
- mysql_fetch_object:Konstanta ini mengambil baris hasil sebagai objek.
- mysql_fetch_array:Konstanta ini mengambil baris hasil sebagai larik asosiatif, larik numerik, atau keduanya.
- mysql_fetch_row:Konstanta ini memberi kita baris hasil sebagai array enumerated.
- mysql_fetch_assoc:Konstanta ini memberi kita baris hasil sebagai array asosiatif.
Q4. Bisakah Anda memberi tahu berapa banyak nilai yang dapat disetel fungsi MySQL untuk dipertimbangkan?
Fungsi Set MySQL dapat mengambil maksimal 64 nilai, tetapi juga dapat mempertimbangkan 0 nilai.
Q5. Dapatkah Anda memberi tahu alasan memilih Lamp(Linux, Apache, MySQL, PHP) daripada kombinasi program perangkat lunak, server, dan sistem operasi lainnya?
Alasan di balik pemilihan Lamp stack sangat sederhana. Linux, Apache, MySQL, PHP adalah perangkat lunak open source. Keamanan sistem operasi Linux jauh lebih dari Windows. Server Apache adalah server yang lebih baik daripada yang lain dalam perspektif fungsionalitas dan keamanan. MySQL adalah salah satu database open source yang paling populer digunakan dengan PHP untuk melakukan berbagai fungsi.
Q6. Bisakah Anda memberi tahu cara untuk mengetahui jumlah hari antara dua tanggal yang diberikan dalam PHP?
Anda cukup mendeklarasikan dua tanggal, lalu menggunakan strtotime berfungsi untuk mengurangkan kedua tanggal dan menemukan perbedaan antara hari dalam hitungan detik.
Perhatikan contoh di bawah ini.
date1 ='2018-09-15′;
tanggal2 ='2018-10-15';
hari =(strtotime($date1) – strtotime($date2)) / (60 * 60 * 24);
Q7. Bisakah Anda memberi tahu cara menemukan jumlah baris dalam kumpulan hasil menggunakan PHP?
Anda dapat menggunakan fungsi mysql_num_rows untuk menemukan jumlah baris dalam kumpulan hasil.
Perhatikan contoh di bawah ini.
output = mysql_query(sql, database_name); number_of_rows = mysql_num_rows(output); echo "The number of forws found are equal to: $number_of_rows";
Q8. Apa fungsi yang digunakan untuk mengenkripsi dan mendekripsi data yang ada di MySQL?
Fungsi yang digunakan untuk mengenkripsi data adalah AES_ENCRYPT() dan fungsi yang digunakan untuk mendekripsi data adalah AES_DECRYPT() .
Q9. Jika Anda ingin mengenkripsi nama pengguna dan kata sandi menggunakan PHP, bagaimana Anda melakukannya?
Anda dapat mengenkripsi nama pengguna dan sandi menggunakan fungsi berikut masing-masing:
SET USERNAME=USERNAME("Username"); SET PASSWORD=PASSWORD(”Password”);
Q10. Bagaimana Anda dapat meningkatkan kinerja kueri MySQL SELECT?
The PILIH pernyataan digunakan untuk memilih data dari database dan data yang dikembalikan disimpan dalam tabel hasil, yang disebut set hasil . Pernyataan SELECT dapat digunakan secara individual atau dapat digunakan dengan pernyataan lain seperti ORDER BY , GROUP MENURUT , dan MEMILIKI klausa.
Untuk meningkatkan kinerja kueri MySQL SELECT, Anda dapat menggunakan klausa LIMIT untuk membatasi MySQL dari pencarian lebih lanjut dalam sebuah tabel, setelah mengumpulkan jumlah catatan yang diperlukan. Selain itu, kita juga dapat menggunakan LEFT JOIN atau RIGHT JOIN untuk mengambil data dari dua atau lebih tabel.
Q11. Bisakah Anda membedakan antara $message dan $$message?
$message dan $$message keduanya adalah variabel PHP. $message digunakan untuk menyimpan data variabel dan $$message digunakan untuk menyimpan variabel dari suatu variabel. Jadi pada dasarnya, data disimpan dalam $message dan $$message digunakan untuk menyimpan data yang dapat diubah secara dinamis.
Q12. Tulis program menggunakan pernyataan SELECT, While Loop.
Anda dapat menulis program untuk memilih rincian siswa dari tabel siswa dan menggunakan loop untuk mencetak nama siswa saja.
example_query = mysql_query("SELECT * FROM 'students' WHERE 'student_id' = '1';"); while(output = mysql_fetch_array(example_query)) { echo output['Students_Name']; }
Q13. Bagaimana Anda bisa mengambil cadangan dan memulihkan database MySQL menggunakan PHP?
MySQL dilengkapi dengan utilitas mysqldump untuk menyediakan pencadangan dan pemulihan basis data. Perintah yang dapat Anda gunakan untuk backup dan restore adalah sebagai berikut.
//To take the backup of database mysqldump database > backup -file.sql; //To restore the database mysqldump database < backup -file.sql;
Anda juga dapat menggunakan antarmuka pengguna phpMyAdmin untuk membuat cadangan database Anda. Jika Anda ingin mem-backup, database Anda hanya perlu mengklik tombol “ekspor ” pada halaman utama phpMyAdmin.
Q14. Bisakah Anda membedakan antara ereg_replace() dan eregi_replace()?
ereg_replace dan eregi_repalce() adalah ekspresi reguler yang digunakan untuk mengganti karakter yang cocok. Satu-satunya perbedaan antara fungsi-fungsi ini adalah fungsi eregi_replace() mengabaikan perbedaan huruf besar-kecil ketika cocok dengan karakter alfabet.
Q15. Bagaimana cara menyalin data dari satu server ke server lain menggunakan PHP?
Anda dapat menggunakan tiga opsi berikut:
Opsi 1: Anda dapat menggunakan PHP Copy untuk memindahkan file dari server ke server. Lihat sintaks di bawah ini:
/* Copy the file from source url to server */ $copy = copy( $remote_file_url, $local_file );
Opsi 2: Anda dapat menggunakan PHP FTP untuk memindahkan file dari server ke server. Lihat sintaks di bawah ini.
/* Download $remote_file and save to $local_file */ ftp_get($connect_it,$local_file,$remote_file,FTP_BINARY)
Opsi 3: Anda dapat menggunakan opsi File ZIP dan UNZIP di PHP.
Sekarang, mari kita beralih ke rangkaian pertanyaan berikutnya, yaitu Pertanyaan Wawancara Kompleks MySQL.
Kompleks Pertanyaan Wawancara MySQL
Q1. Bisakah Anda memberi tahu beberapa praktik terbaik yang harus diikuti untuk pengoptimalan di SQL?
Praktik terbaik yang harus diikuti untuk pengoptimalan SQL bergantung pada individu ke individu, tetapi daftar berikut terdiri dari praktik paling populer yang disarankan untuk diikuti. Lihat di bawah.
- Cobalah menghindari awalan nama prosedur tersimpan Anda dengan “sp_”.
- Disarankan untuk menggunakan daftar kolom dalam pernyataan INSERT.
- Sebaiknya gunakan Klausa ANSI-Standard JOIN daripada klausa gaya Lama.
- Saat menggunakan pernyataan SELECT, hindari penggunaan * kueri.
- Jangan gunakan tanda kutip ganda dalam kode T-SQL.
- Coba hindari penggunaan nomor kolom dalam klausa ORDER BY.
- Coba gunakan alias tabel jika pernyataan SQL Anda melibatkan lebih dari satu sumber.
Q2. Bisakah Anda memberi tahu berbagai cara untuk membuat indeks?
Berbagai opsi untuk membuat indeks adalah sebagai berikut:
- Anda dapat membuat indeks menggunakan pernyataan T-SQL.
- Anda dapat menggunakan SQL Server Management Studio. Dalam hal ini, Anda dapat menelusuri tabel yang Anda butuhkan untuk membuat indeks dan kemudian klik kanan pada node Indeks. Di sini Anda harus memilih opsi Indeks Baru.
- Anda dapat secara tidak langsung mengidentifikasi indeks dengan mendefinisikan KUNCI UTAMA dan batasan UNIK dalam pernyataan CREATE TABLE atau ALTER TABLE.
Q3. Apa perbedaan antara tabel Heap dan tabel Sementara?
Tabel Heap | Tabel Sementara |
Tabel Heap ada di memori | Tabel sementara hanya valid selama sesi. |
Tabel Heap dibagi di antara berbagai jumlah klien. | Tabel sementara tidak dibagikan di antara klien. |
Tabel sementara memerlukan hak istimewa untuk membuat tabel. | Heap Tables adalah mesin penyimpanan yang tidak memerlukan hak istimewa. |
Q4. Mengapa menurut Anda disarankan untuk tidak menggunakan kolom GUID dan CHARACTER sebagai array Indeks Cluster?
Kolom GUID memengaruhi kinerja pengurutan indeks berkerumun karena sifat nilai GUID acak yang dihasilkan lebih besar daripada tipe data integer.
Kolom KARAKTER mempengaruhi kinerja penyortiran tipe data karakter, nilai ukuran lebih besar, nilai tidak naik, dan nilai nonstatis yang sering cenderung berubah. Nilai-nilai ini tidak dapat dibandingkan sebagai nilai biner, karena mekanisme perbandingan karakter bergantung pada koleksi yang digunakan.
Q5. Bagaimana Anda bisa menangani –secure-file- priv di MySQL?
–secure-file- pribadi opsi membatasi Server MySQL dari memuat direktori menggunakan LOAD DATA INFILE.
Jika Anda ingin melihat direktori yang telah dikonfigurasi, Anda dapat menggunakan TAMPILKAN VARIABEL SEPERTI “secure_file_priv”;
Anda hanya memiliki dua opsi untuk ditangani:
- Pindahkan file Anda ke direktori yang ditentukan oleh secure-file-priv.
- Atau Anda dapat menonaktifkan secure-file-priv. Anda tidak dapat menonaktifkannya nanti, dan Anda harus menghapusnya dari awal.
Q6. Apa perbedaan antara B-Tree dan Indeks Hash?
B-Tree | Indeks Hash |
Indeks B-Tree dapat digunakan untuk perbandingan kolom seperti =,>, <,>=, <=atau ANTARA operator. | Indeks Hash hanya dapat digunakan untuk perbandingan kesetaraan yang menggunakan =,>=, <=. |
B-Tree dapat digunakan untuk mencari entri berikutnya dalam urutan. | Hash Index tidak dapat digunakan untuk mencari entri berikutnya dalam urutan. |
Awalan paling kiri dari kunci dapat digunakan untuk menemukan baris. | Hanya seluruh kunci yang digunakan untuk menemukan baris. |
Q7. Di mana tabel MyISAM disimpan?
Setiap Tabel MyISAM disimpan pada disk dalam tiga file berikut:
- .frm file – Menyimpan definisi tabel.
- File .MYD – File data memiliki ekstensi MYData.
- .File indeks MYI – File indeks memiliki ekstensi MYIndex.
Q8. Nyatakan perbedaan antara MongoDB dan MySQL.
MongoDB | MYSQL |
Basis data sumber terbuka yang menyimpan dokumen mirip JSON yang strukturnya bervariasi. | Sistem manajemen basis data relasional sumber terbuka yang menyimpan data relasional. |
Setiap record disimpan sebagai dokumen. | Setiap record disimpan sebagai baris dalam tabel. |
Dokumen dari kelas atau grup tertentu disimpan dalam koleksi. | Jenis catatan serupa disimpan dalam tabel. |
Q9. Identifikasi apa yang salah dalam kueri di bawah ini.
SELECT EmployeeID, AVG(Gaji)
DARI EmployeeDetails
DI MANA AVG(Gaji)> 75
GROUP BY EmployeeID
Jawabannya cukup sederhana. Anda tidak dapat menggunakan klausa WHERE untuk membatasi grup. Alih-alih ini, Anda harus menggunakan klausa HAVING.
Kueri Anda harus sebagai berikut:
SELECT EmployeeID, AVG(Salary) FROM EmployeeDetails HAVING AVG(Salary) > 75 GROUP BY EmployeeID
Q10. Apa itu Normalisasi dan sebutkan jenis-jenis normalisasi yang berbeda?
Normalisasi adalah proses mengatur data untuk menghindari duplikasi dan redundansi. Ada banyak tingkat normalisasi yang berurutan. Ini disebut bentuk normal . Setiap bentuk normal berurutan tergantung pada yang sebelumnya. Tiga bentuk normal pertama biasanya cukup.
- Bentuk Normal Pertama (1NF) – Tidak ada grup berulang dalam baris
- Bentuk Normal Kedua (2NF) – Setiap nilai kolom non-kunci (pendukung) bergantung pada seluruh kunci utama.
- Bentuk Normal Ketiga (3NF) – Hanya bergantung pada kunci utama dan tidak ada nilai kolom (pendukung) non-kunci lainnya.
Sekarang, mari kita beralih ke rangkaian pertanyaan berikutnya yaitu Pertanyaan Wawancara Tricky MySQL.
Pertanyaan Wawancara MySQL yang Rumit
Q1. Pertimbangkan Anda memiliki indeks gabungan dari tiga kolom. Sekarang, Anda harus memberikan nilai dua kolom dalam klausa WHERE dari kueri SELECT. Apakah menurut Anda Indeks dapat digunakan untuk operasi?
Penggunaan indeks sepenuhnya tergantung pada apakah Anda mempertimbangkan indeks utama atau tidak. Pertimbangkan Anda memiliki meja siswa. Sekarang, misalkan jika ada Index di StudentID, StudentFirstName, dan StudentLastName maka Anda dapat mempertimbangkan kueri sebagai berikut:
SELECT * FROM StudentDetails WHERE StudentID=3 and StudentFirstName='Jatin'
Sekarang, jika Anda menganggap bahwa dua kolom di atas dalam kueri adalah kolom indeks sekunder, maka indeks tidak akan dipanggil. Lain, jika dua kolom di atas berisi kolom pertama saat membuat indeks (yaitu indeks utama), maka indeks pasti akan dipanggil.
Dalam skenario di atas, saya telah menganggap bahwa StudentID dan StudentFirstName sebagai kolom utama, sehingga Indeks akan digunakan dalam kasus ini.
Q2. Misalkan Anda harus mengumpulkan nama depan, nama tengah dan nama belakang siswa dari tabel di bawah ini. Tapi, Anda mengamati bahwa ada beberapa nilai yang hilang baik di kolom nama depan, nama tengah dan nama belakang. Bagaimana Anda akan mengembalikan nilai bukan nol pertama?
StudentID | Nama Depan | MiddleName | Nama Belakang |
1 | Rohit | Kumar | NULL |
2 | Sakshi | Chowdhary | NULL |
3 | NULL | Yash | Singhania |
4 | Akash | NULL | Kumar |
5 | Avinash | NULL | Daksh |
You can use the COALESCE function to return the first non-null value from the table. Consider the below query.
SELECT StudentID, COALESCE(FirstName, MiddleName, LastName) as Name FROM StudentDetails;
Q3. Consider a scenario where you have two to three tables with thousand tuples in each of them. Now, if you have to perform a JOIN operation between them will you choose to perform filtering of rows or transforming of rows first.
The answer to this question is quite logical. If you have three tables with thousands of tuples in each of them, then you are first supposed to filter the rows in those tables and then transform the table. This would be beneficiary as if you transform the table, then the number of columns may increase reducing the performance. Due to such performance issues, a lot of memory will be used and the output will appear on your screen after quite a long wait of time.
Q4. How can you validate emails using a single query?
To validate emails you can use the regular expressions function (REGEXP_LIKE). Consider the below query.
SELECT Email FROM Employee where NOT REGEXP_LIKE(Email, ‘[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}’, ‘i’);
Q5. Consider a scenario where you have to send an email to a client from the SQL database. How do you think you can achieve this task?
To send an email from the database, you can use the stored procedures. Follow the below procedure to send the emails:
- Configure your SQL Server Mail account.
- Enable the database mail.
- Write a script to send an email. Refer below for the script.
USE [YourDB] EXEC msdb.dbo.sp_send_dbmail @recipients = '[email protected]; [email protected];[email protected]’ @body = ' Sample Body Text', @subject = 'Example Email' ; GO
Q6. Consider you have the following three tables which have to be linked together.
Department(Ssn, EmployeeName, EmployeeAge..)
EmployeeContactDetails(Ssn, DepartmentID,desc,Ord)
EmployeeAddress(Ssn,DepartmentID, desc, Ord)
The problem statement is to select all the departments from the Department table, with the “desc” field from the EmployeeContactDetails and EmployeeAddress where Ord=1. Now, you have to solve this problem statement with a single query.
To solve this problem statement you can use the JOINS concept. You simply have to perform a JOIN on the Department.Ssn and the DepartmentID in the other tables.
Now, if you are sure that the Ssn exists in all the three considered tables, then you can use the INNER JOIN. Also, if you are not sure that you have matching rows, then you can use the LEFT JOIN. Consider the below query.
SELECT d.Ssn, d.EmployeeName, c.desc ContactDetailsDesc, a.desc AddressDetailsDesc from Department d inner join EmployeeContactDetails c on d.id = c.DepartmentID inner join address a on d.id = a.DepartmentID where d.EmployeeName = 'abc' and c.ord = 1 and a.ord = 1
Q7. If you are assigned a task, to find the information of PROCEDURES. What are the basic commands that you will use to do so?
To check the procedures, you can consider the following query.
SELECT * FROM SampleSource WHERE Type=’PROCEDURE’ AND NAME IN (‘SP_CONNECTED_AGG’,’SP_UNCONNECTED_AGG’);
To find the procedures columns information, you can consider the following query.
SELECT OWNER, OBJECT_NAME, ARGUMENT_NAME, DATA_TYPE, IN_OUT from ALL_ARGUMENTS order by OWNER, OBJECT_NAME, SEQUENCE;
Q8. Can you tell which of the following WHERE clauses is faster?
WHERE col * 4 <16
WHERE col <16 / 4
If we compare both the statements, then the second WHERE clause would be comparatively faster than the first one. That is because, for the first statement, MYSQL would retrieve the value of ‘col’ for each and every row, multiplied by four. After that, it would compare the result to 16. Also, in the first case no Index can be used, and hence it makes it further slow.
Q9. What is the main difference between ‘BETWEEN’ and ‘IN’ condition operators?
BETWEEN operator is used to display rows based on a range of values in a row whereas the IN condition operator is used to check for values contained in a specific set of values.
Example of BETWEEN:
SELECT * FROM Students where ROLL_NO BETWEEN 10 AND 50;
Example of IN:
SELECT * FROM students where ROLL_NO IN (8,15,25);
Q10. What are the different types of Collation Sensitivity?
Following are the different types of collation sensitivity:
- Case Sensitivity
- Kana Sensitivity
- Width Sensitivity
- Accent Sensitivity
So this brings us to the end of the MySQL Interview Questions blog. I hope this set of MySQL Interview Questions will help you ace your job interview. All the best for your interview!
Apart from this MySQL Interview Questions Blog, if you want to get trained from professionals on this technology, you can opt for a structured training from edureka! Click below to know more.
Check out this MySQL DBA Certification Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. This course trains you on the core concepts &advanced tools and techniques to manage data and administer the MySQL Database. It includes hands-on learning on concepts like MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions etc. End of the training you will be able to create and administer your own MySQL Database and manage data.
Ada pertanyaan untuk kami? Please mention it in the comments section of this “My SQL Interview Questions” and we will get back to you as soon as possible.