Tricky SQL interview questions often test a candidate's depth of understanding, problem-solving skills, and ability to optimize queries. Here are some examples:
| Question | Description |
|---|---|
| What is the difference between JOIN and UNION? | This checks understanding of how to combine data from multiple tables versus stacking results. |
| How would you find duplicates in a table? | Candidates should demonstrate the ability to identify non-unique records using GROUP BY and HAVING. |
| Explain the difference between INNER JOIN and LEFT JOIN. | This tests knowledge of how different types of joins affect the result set. |
| What are window functions? Provide an example. | Candidates should explain and demonstrate using functions like ROW_NUMBER(), RANK(), and SUM() OVER(). |
| How do you optimize a slow-running query? | This checks for understanding of indexing, query rewriting, and execution plans. |
| What is normalization? Explain different normal forms. | Candidates should discuss the principles of reducing data redundancy and the steps involved. |
| How can you prevent SQL injection attacks? | This tests knowledge of security practices such as using prepared statements and parameterized queries. |
| What is the difference between a primary key and a unique key? | Candidates should explain constraints and the implications for table design. |
| How would you perform a non-equi join? | This explores advanced joining techniques that are not straightforward. |
| Explain ACID properties. Why are they important? | This checks understanding of transaction management in databases. |
These questions require not only technical knowledge but also the ability to apply that knowledge to real-world scenarios.