SQL Components - Interview Questions and Answers
DQL consists of commands that retrieve data from a database, mainly using SELECT
.
SELECT column1, column2 FROM table_name WHERE condition;
SELECT * FROM table_name;
It filters records based on a condition.
Example:
SELECT * FROM Employees WHERE Department = 'HR';
It sorts query results in ascending (ASC
) or descending (DESC
) order.
SELECT * FROM Employees ORDER BY Salary DESC;
DISTINCT
removes duplicate values.GROUP BY
groups rows with the same values.
Example:
SELECT DISTINCT Department FROM Employees;
SELECT Department, COUNT(*) FROM Employees GROUP BY Department;
It restricts the number of rows returned.
SELECT * FROM Employees LIMIT 5; -- MySQL, PostgreSQL
SELECT TOP 5 * FROM Employees; -- SQL Server
HAVING
filters after GROUP BY
.
SELECT Department, COUNT(*) FROM Employees GROUP BY Department HAVING COUNT(*) > 5;
It performs pattern matching in string searches.
SELECT * FROM Customers WHERE Name LIKE 'A%'; -- Names starting with A
It filters values within a range.
SELECT * FROM Orders WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31';
DDL consists of commands that define and modify database schema, like CREATE
, ALTER
, DROP
, and TRUNCATE
.
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Salary DECIMAL(10,2),
Department VARCHAR(30)
);
Add a column:
ALTER TABLE Employees ADD Age INT;
Modify a column:
ALTER TABLE Employees MODIFY COLUMN Age SMALLINT;
DROP TABLE table_name;
removes the entire table.TRUNCATE TABLE table_name;
deletes all records but keeps the table structure.
ALTER TABLE Employees RENAME TO Staff;
- PRIMARY KEY: Uniquely identifies each row and cannot be NULL.
- UNIQUE: Ensures uniqueness but allows one NULL value.
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
ALTER TABLE Employees DROP COLUMN Age;
DESCRIBE Employees; -- MySQL
EXEC sp_help Employees; -- SQL Server
CREATE INDEX idx_name ON Employees(Name);
DML modifies data using INSERT
, UPDATE
, and DELETE
.
INSERT INTO Employees (ID, Name, Salary, Department) VALUES (1, 'Rahul', 50000, 'HR');
UPDATE Employees SET Salary = 55000 WHERE ID = 1;
DELETE FROM Employees WHERE ID = 1;
DELETE
removes specific rows.TRUNCATE
removes all rows and resets auto-increment counters
DCL manages user permissions using GRANT
and REVOKE
.
GRANT SELECT, INSERT ON Employees TO 'user1'@'localhost';
REVOKE INSERT ON Employees FROM 'user1'@'localhost';
SHOW GRANTS FOR 'user1'@'localhost';
TCL manages transactions using COMMIT
, ROLLBACK
, and SAVEPOINT
.
START TRANSACTION;
COMMIT;
ROLLBACK;
It allows partial rollbacks within a transaction.
SAVEPOINT sp1;
ROLLBACK TO sp1;
COMMIT
saves changes.ROLLBACK
undoes changes.
SELECT @@tx_isolation; -- MySQL
DBCC USEROPTIONS; -- SQL Server
Tutorials
Random Blogs
- How to Start Your Career as a DevOps Engineer
- Store Data Into CSV File Using Python Tkinter GUI Library
- Big Data: The Future of Data-Driven Decision Making
- 10 Awesome Data Science Blogs To Check Out
- Datasets for analyze in Tableau
- Python Challenging Programming Exercises Part 2
- Mastering SQL in 2025: A Complete Roadmap for Beginners
- Understanding AI, ML, Data Science, and More: A Beginner's Guide to Choosing Your Career Path
- Where to Find Free Datasets for Your Next Machine Learning & Data Science Project
- Understanding HTAP Databases: Bridging Transactions and Analytics