Top 20 sql interview questions and answers
What is DDL, DML, DCL, TCL in SQL ?
DDL refers to Data Definition language. DDL is used to create/modify the structure of Database. e.g. CREATE, ALTER, DROP statement..
DML refers to Data Manipulation language. DML is used to retrieve, modify, delete, insert and update data in database. e.g. SELECT, UPDATE, INSERT statement
DCL refers to Data Control Language. DCL is used to create roles, permissions, and control access to database. e.g. GRANT, REVOKE statement.
TCL refers to Transactional Control Language. TCL is used to manage different transactions occurring within a database. e.g COMMIT, ROLLBACK statement
What is the difference between UNION vs UNION ALL?
UNION and UNION ALL are used for merging two tables which has similar structure.
the difference between UNION and UNION ALL is that the UNION removes the duplicates while merging tables but UNION ALL do not and retain all duplicates.
UNION is slower in performance as it has additional task of removing duplicates which causes more time in execution.
What is the difference between query and subquery?
A Query is a code written to fetch information from the database where as subquery is a query within another query. Basically subquery is an inner query. SubQuery is designed to executed first. The result of subquery is passed on to the main query which then process using the subquery output.
What is a stored procedure?
Stored Procedure is a function having several SQL statements. Stored procedure can be executed to process all SQL statements in it.
What is the difference between WHERE clause and HAVING clause?
Both WHERE and HAVING are used for filtering out records based conditions. WHERE clause can only be applied for static non-aggregated column whereas HAVING for aggregated columns.
SELECT * FROM Cricketbat WHERE batlenght > 2 feet
SELECT COUNT(Cricketbat)
FROM Bat
GROUP BY Team
HAVING COUNT(Cricketbat) > 2 feet;
What is DELETE and TRUNCATE commands?
DELETE command is used to remove selected rows from a table. A WHERE clause can be used to specify the rows to be deleted
What is TRUNCATE commands?
TRUNCATE is used for removing all rows from the table. Truncate operation cannot be reversed but but delete can be reversed/rollback.
What is Log Caches of SQL Server?
Log cache is a memory pool allocated to read/write the log pages. A group of cache pages are available in each log cache.
What is Inner join?
Inner join is used for returning rows when there is at least one match of rows between the tables used in the inner join query.
What is Full Join?
Full join is used for returning all the rows from the left side table and all the rows from the right side table.
What is Right Join?
Right join return all rows of Right hand side table and matched rows in left hand table. Non matched rows will show null values for left had side.
Simply, it returns all the rows from the right hand side table even though there are no matches in the left hand side table.
What is Left Join?
Left join return all rows of Left hand side table and matched rows in right hand table. Non matched rows will show null values for right hand side.
What are the SQL MAX() and MIN() Functions?
The MAX() function returns the largest value in the selected column.
The MIN() function returns the smallest value in the selected column.
SELECT MAX(Weight) AS LargestWeight
FROM CricketBats;
SELECT MIN(Weight) AS SmallestWeight
FROM CricketBats;
What are the SQL AVG(), COUNT() and SUM() Functions
The SQL AVG() function returns the average value in a numeric values column.
e.g.
SELECT AVG(Weight)
FROM Cricketbats;
The SQL COUNT() function returns the number of rows count that matches with a specified criteria.
SELECT COUNT(ProductID)
FROM Cricketbats;
The SQL SUM() function returns the total sum of a numeric values in a specific column.
e.g
SELECT SUM(Weight)
FROM Cricketbats;
What is SQL UPDATE Statement?
The SQL UPDATE statement is used for modifying the existing records in the selected table.
e.g as below:
UPDATE Users
SET UserContactName=’First name Last name’, City=’City1′
WHERE UserID=1;
What is SQL ORDER BY Keyword?
The purpose of ORDER BY keyword is to sort the results in ascending or descending order.
example for ascending order
SELECT * FROM Users
ORDER BY State ASC;
or
SELECT * FROM Users
ORDER BY State;
example for descending order
SELECT * FROM Users
ORDER BY State DESC;
What is a NULL Value in SQL?
NULL values can not be compared using operators =, <, or <> so we will need to use the “IS NULL” or “IS NOT NULL” operators instead.
SELECT UserName, UserContactName, Address FROM Persons
WHERE Address IS NULL;
SELECT UserName, UserContactName, Address FROM Persons
WHERE Address IS NOT NULL;
What is SQL INSERT INTO Statement?
The INSERT INTO statement is used for inserting new records to a table.
e.g.
INSERT INTO Users (UserName, UserContactName, UserAddress, City, ZipCode, State, Country)
VALUES (‘Test1′,’Firstname last name’,’address 1, 2,3 ‘,’City namer’,’99999′,’Statename’,’Countryname’);
What is SQL INSERT INTO SELECT Statement?
The SQL INSERT INTO SELECT statement is used for copying data from one table and then to insert to someother table.
e.g. as below:
INSERT INTO Users (UserName, UserCity, Country)
SELECT VendorName, VendorCity, Country FROM Vendors;
What is the SQL DELETE Statement?
The SQL DELETE statement is used for deleting the existing records in the selected table.
e.g as below:
DELETE FROM Users
WHERE UserName=’Firstname1 Lastname1′;
What is AND, OR and NOT Operators in SQL?
AND, OR, and NOT operators are combined with the WHERE clause to get the desired filtered results.
e.g
SELECT * FROM Users
WHERE State =’illinois’ AND City=’Chicago’;
SELECT * FROM Users
WHERE City=’Chicago’ OR City=’New York’;
SELECT * FROM Users
WHERE NOT State =’Chicago’;
What is SQL WHERE Clause?
SQL WHERE clause is used to filter records and its added as below
e.g.
SELECT States FROM Users where Usersgroup = ‘1’;
What is the SQL SELECT TOP Clause ?
The SELECT TOP clause is used to specify the number of records to return.
e.g as below:
SELECT TOP 100 * FROM Users;