Post Details

Top 50 SQL Interview Questions and Answers
24 Aug

Top 50 SQL Interview Questions and Answers

Top 50 SQL Interview Questions and Answers


Q1. What is SQL?
ANS. SQL stands for Structured Query Language. It is a programming language used for managing and manipulating relational databases.

Q 2. What is a database?
ANS. A database is an organized collection of data stored and accessed electronically. It provides a way to store, organize, and retrieve large amounts of data efficiently.

Q3. What is a primary key?
ANS. A primary key is a column or combination of columns uniquely identifying each row in a table. It enforces the entity integrity rule in a relational database.

Q4. What is a foreign key?
ANS. A foreign key is a column or combination of columns that establishes a link between data in two tables. It ensures referential integrity by enforcing relationships between tables.

Q5. What is the difference between a primary key and a unique key?
ANS. A primary key is used to uniquely identify a row in a table and must have a unique value. On the other hand, a unique key ensures that a column or combination of columns has a unique value but does not necessarily identify the row.

Q6. What is normalization?
ANS. Normalization is organizing data in a database to minimize redundancy and dependency. It involves breaking down a table into smaller tables and establishing relationships between them.

Q7. What are the different types of normalization?
ANS.

  • First Normal Form (INF)
  • Second Normal Form (2NF)
  • Third Normal Form (3NF)
  • Boyce-Codd Normal Form (BCNF)
  • Fourth Normal Form (4NF)
  • Fifth Normal Form (5NF) or Project-Join Normal Form (PJNF)

 

Q 8. What is a join in SQL?
ANS. A join is an operation used to combine rows from two or more tables based on related columns. It allows you to retrieve data from multiple tables simultaneously.

Q9. What is the difference between DELETE and TRUNCATE in SQL?
ANS. The DELETE statement is used to remove specific rows from a table based on a condition. It can be rolled back and generates individual delete operations for each row.
TRUNCATE, on the other hand, is used to remove all rows from a table. It cannot be rolled back, and it is faster than DELETE as it deallocates the data pages instead of logging individual row deletions.

Q 10. What is the difference between UNION and UNION ALL?
ANS. UNION and UNION ALL are used to combine the result sets of two or more SELECT statements. UNION removes duplicate rows from the combined result set. whereas UNION ALL includes all rows, including duplicates.

Q11. What is the difference between the HAVING
clause and the WHERE clause?
ANS. The WHERE clause is used to filter rows based on a condition before the data is grouped or aggregated. It operates on individual rows.
The HAVING clause, on the other hand, is used to filter grouped rows based on a condition after the data is grouped or aggregated using the GROUP BY clause.

Q 12. What is a transaction in SQL?
ANS. A transaction is a sequence of SQL statements executed as a single logical unit of work. It ensures data consistency and integrity by either committing all changes or rolling them back if an error occurs.

Q13. What is the difference between a clustered and a non-clustered index?
ANS. A clustered index determines the physical order of data in a table. It changes how the data is stored on disk and can be created on only one column. A table can have only one clustered index. A non-clustered index does not affect the physical order of data in a table. It is stored separately and contains a pointer to the actual data. A table can have multiple non-clustered indexes.

Q 14. What is ACID in the context of database transactions?
ANS. ACID stands for Atomicity, Consistency, Isolation, and Durability. It is a set of properties that guarantee reliable processing of database transactions. Atomicity ensures that a transaction is treated as a single unit of work, either all or none of the changes are applied. Consistency ensures that a transaction brings the database from one valid state to another. Isolation ensures that concurrent transactions do not interfere with each other. Durability ensures that once a transaction is committed, its changes are permanent and survive system failures.

Q 15. What is a deadlock?
ANS. A deadlock occurs when two or more transactions wait for each other to release resources, resulting in a circular dependency. As a result, none of the transactions can proceed, and the system may become unresponsive.

Q 16. What is the difference between a temporary table and a table variable?
ANS. A temporary table is a table that is created and exists only for the duration of a session or a transaction. It can be explicitly dropped or automatically dropped when the session or transaction ends. A table variable is a variable that can store a tablelike structure in memory. It has a limited scope within a batch, stored procedure, or function. It is automatically deallocated when the scope ends.

Q 17. What is the purpose of the GROUP BY clause?
ANS. The GROUP BY clause is used to group rows based on one or more columns in a table. It is typically used in conjunction with aggregate functions, such as SUM, AVG, COUNT, etc., to perform calculations on grouped data.

Q18. What is the difference between a database and a schema?
ANS. A database is a container that holds multiple objects, such as tables, views, indexes, and procedures. It represents a logical grouping of related data. A schema, on the other hand, is a container within a database that holds objects and defines their ownership. It provides a way to organize and manage database objects.

Q 19. What is the difference between CHAR and VARCHAR data types?
ANS. CHAR is a fixed-length string data type, while VARCHAR is a variable-length string data type.

Q 20. What is a stored procedure?
ANS. A stored procedure is a set of SQL statements that are stored in the database and can be executed repeatedly. It provides code reusability and better performance.

Q21. What is a subquery?
ANS. A subquery is a query nested inside another query. It is used to retrieve data based on the result of an inner query.

Q 22. What is a view?
ANS. A view is a virtual table based on the result of an SQL statement. It allows users to retrieve and manipulate data as if

Q 23. What is the difference between a cross-join and an inner join?
ANS. A cross join (Cartesian product) returns the combination of all rows from two or more tables. An inner join returns only the matching rows based on a join condition.

Q 24. What is the purpose of the COMMIT statement?
ANS. The COMMIT statement is used to save changes made in a transaction permanently. It ends the transaction and makes the changes visible to other users.

Q 25. What is the purpose of the ROLLBACK statement?
ANS. The ROLLBACK statement is used to undo changes made in a transaction. It reverts the database to its previous state before the transaction starts.

Q 26. What is the purpose of the NULL value in SQL?
ANS. NULL represents the absence of a value or unknown value. It is different from zero or an empty string and requires special handling in SQL queries.

Q 27. What is the difference between a view and a materialized view?
ANS. A materialized view is a physical copy of the view's result set stored in the database, which is updated periodically. It improves query performance at the cost of data freshness.

Q 28. What is a correlated subquery?
ANS. A correlated subquery is a subquery that refers to a column from the outer query. It executes once for each row processed by the outer query.

Q 29. What is the purpose of the DISTINCT keyword?
ANS. The DISTINCT keyword is used to retrieve unique values from a column or combination of columns in a SELECT statement.

Q 30. What is the difference between the CHAR and VARCHAR data types?
ANS. CHAR stores fixed-length character strings, while VARCHAR stores variable-length character strings. The storage size of CHAR is constant, while VARCHAR adjusts dynamically.

Q 31. What is the difference between the IN and EXISTS operators?
ANS. The IN operator checks for a value within a set of values or the result of a subquery. The EXISTS operator checks for the existence of rows returned by a subquery.

32. What is the purpose of the TRIGGER statement?
ANS. The TRIGGER statement is used to associate a set of SQL statements with a specific event in the database. It is executed automatically when the event occurs.

Q 33. What is the difference between a unique constraint and a unique index?
ANS.
A unique constraint ensures the uniqueness of values in one or more columns, while a unique index enforces the uniqueness and also improves query performance.

Q34. What is Data Manipulation Language (DML)?
ANS.
 DML is used for managing data within database structures. Common DML commands include:
SELECT: Retrieves data from the database.
INSERT: Adds new data to the database.
UPDATE: Modifies existing data.
DELETE: Removes data from the database.

SELECT * FROM Employees WHERE Position = 'Manager';

INSERT INTO Employees (ID, Name, Position, Salary)
VALUES (1, 'Alice', 'Manager', 75000);

UPDATE Employees SET Salary = 80000 WHERE ID = 1;

DELETE FROM Employees WHERE ID = 1;

Q35. Data Control Language (DCL)?
ANS.
 DCL is used to control access to data within the database. Common DCL commands include:
GRANT: Gives a user permission to perform certain tasks.
REVOKE: Removes a user's permission

GRANT SELECT, INSERT ON Employees TO user1;

REVOKE INSERT ON Employees FROM user1;

Q36. What is Transaction Control Language (TCL)?
ANS.
 TCL is used to manage transactions within a database. Common TCL commands include:
COMMIT: Saves all changes made during the current transaction.
ROLLBACK: Undoes all changes made during the current transaction.
SAVEPOINT: Sets a point within a transaction to which you can later roll back.

BEGIN TRANSACTION;

UPDATE Employees SET Salary = 85000 WHERE ID = 1;

SAVEPOINT Update1;

UPDATE Employees SET Salary = 90000 WHERE ID = 2;

ROLLBACK TO Update1;

COMMIT;

 

0 Comments

Leave a Comment