Interview Questions and Answers are now updated with the latest questions and answers. New Location: SQL Server Interview Questions and Answers.
Click here to get free chapters (PDF) in the mailbox
Interview Questions and Answers
What is a NOLOCK?
Using the NOLOCK query optimiser hint is generally considered good practice in order to improve concurrency on a busy system. When the NOLOCK hint is included in a SELECT statement, no locks are taken when data is read. The result is a Dirty Read, which means that another process could be updating the data at the exact time you are reading it. There are no guarantees that your query will retrieve the most recent data. The advantage to performance is that your reading of data will not block updates from taking place, and updates will not block your reading of data. SELECT statements take Shared (Read) locks. This means that multiple SELECT statements are allowed simultaneous access, but other processes are blocked from modifying the data. The updates will queue until all the reads have completed, and reads requested after the update will wait for the updates to complete. The result to your system is delay(blocking).
What is difference between DELETE & TRUNCATE commands?
Delete command removes the rows from a table based on the condition that we provide with a WHERE clause. Truncate will actually remove all the rows from a table and there will be no data in the table after we run the truncate command.
TRUNCATE
TRUNCATE is faster and uses fewer system and transaction log resources than DELETE.
TRUNCATE removes the data by deallocating the data pages used to store the table’s data, and only the page deallocations are recorded in the transaction log.
TRUNCATE removes all rows from a table, but the table structure and its columns, constraints, indexes and so on remain. The counter used by an identity for new rows is reset to the seed for the column.
You cannot use TRUNCATE TABLE on a table referenced by a FOREIGN KEY constraint.
Because TRUNCATE TABLE is not logged, it cannot activate a trigger.
TRUNCATE can not be Rolled back using logs.
TRUNCATE is DDL Command.
TRUNCATE Resets identity of the table.
DELETE
DELETE removes rows one at a time and records an entry in the transaction log for each deleted row.
If you want to retain the identity counter, use DELETE instead. If you want to remove table definition and its data, use the DROP TABLE statement.
DELETE Can be used with or without a WHERE clause
DELETE Activates Triggers.
DELETE Can be Rolled back using logs.
DELETE is DML Command.
DELETE does not reset identity of the table.
Difference between Function and Stored Procedure?
UDF can be used in the SQL statements anywhere in the WHERE/HAVING/SELECT section where as Stored procedures cannot be.
UDFs that return tables can be treated as another rowset. This can be used in JOINs with other tables.
Inline UDF’s can be though of as views that take parameters and can be used in JOINs and other Rowset operations.
When is the use of UPDATE_STATISTICS command?
This command is basically used when a large processing of data has occurred. If a large amount of deletions any modification or Bulk Copy into the tables has occurred, it has to update the indexes to take these changes into account. UPDATE_STATISTICS updates the indexes on these tables accordingly.
What types of Joins are possible with Sql Server?
Joins are used in queries to explain how different tables are related. Joins also let you select data from a table depending upon data from another table.
Types of joins: INNER JOINs, OUTER JOINs, CROSS JOINs. OUTER JOINs are further classified as LEFT OUTER JOINS, RIGHT OUTER JOINS and FULL OUTER JOINS.
What is the difference between a HAVING CLAUSE and a WHERE CLAUSE?
Specifies a search condition for a group or an aggregate. HAVING can be used only with the SELECT statement. HAVING is typically used in a GROUP BY clause. When GROUP BY is not used, HAVING behaves like a WHERE clause. Having Clause is basically used only with the GROUP BY function in a query. WHERE Clause is applied to each row before they are part of the GROUP BY function in a query. HAVING criteria is applied after the the grouping of rows has occurred.
What is sub-query? Explain properties of sub-query.
Sub-queries are often referred to as sub-selects, as they allow a SELECT statement to be executed arbitrarily within the body of another SQL statement. A sub-query is executed by enclosing it in a set of parentheses. Sub-queries are generally used to return a single row as an atomic value, though they may be used to compare values against multiple rows with the IN keyword.
A subquery is a SELECT statement that is nested within another T-SQL statement. A subquery SELECT statement if executed independently of the T-SQL statement, in which it is nested, will return a result set. Meaning a subquery SELECT statement can standalone and is not depended on the statement in which it is nested. A subquery SELECT statement can return any number of values, and can be found in, the column list of a SELECT statement, a FROM, GROUP BY, HAVING, and/or ORDER BY clauses of a T-SQL statement. A Subquery can also be used as a parameter to a function call. Basically a subquery can be used anywhere an expression can be used.
Properties of Sub-Query
A subquery must be enclosed in the parenthesis.
A subquery must be put in the right hand of the comparison operator, and
A subquery cannot contain a ORDER-BY clause.
A query can contain more than one sub-queries.
What are types of sub-queries?
Single-row subquery, where the subquery returns only one row.
Multiple-row subquery, where the subquery returns multiple rows,.and
Multiple column subquery, where the subquery returns multiple columns.
Complete Series of SQL Server Interview Questions and Answers
SQL Server Interview Questions and Answers -Introduction
SQL Server Interview Questions and Answers – Part 1
SQL Server Interview Questions and Answers – Part 2
SQL Server Interview Questions and Answers – Part 3
SQL Server Interview Questions and Answers – Part 4
SQL Server Interview Questions and Answers – Part 5
SQL Server Interview Questions and Answers – Part 6
SQL Server Interview Questions and Answers Complete List Download
Reference : Pinal Dave (https://blog.sqlauthority.com)
42 Comments.
Error message in Oracle 8i in windows xp
ora-01034
please help me
hiii…,
ningaraj…
try this…it’s perfect for u…
ORA-01034:
Cause:
Oracle was not started up. Possible causes are
*The SGA requires more space than was allocated for it.
**The operating-system variable pointing to the instance is improperly defined.
Action:
Refer to accompanying messages for possible causes and correct the problem mentioned in the other messages. If Oracle has been initialized, then on some operating systems, verify that Oracle was linked correctly. See the platform specific Oracle documentation.
Hi,
I would like to know how can we connect Sql server to visual basic?……
How many types of connections are there to connect visual basic to sql server?
please reply
santra
Hi Sir,
Nice website, but the question about Difference between Truncate and Delete Table you have mentioned that truncate table can not be rollback, it is not true, i can be rolled back i have done it myself
Hi,
You have mentioned in question “Difference between having and where clause’ that
when Group by is not used it behaves like a where claluse this statement is wrong because without group by clause you can not use having clause.
I wan to know what is the differance between Sql Sever & Oracle?
Question is difference between Truncate and Delete. One of the Difference is Truncate can not roll back. but it can roll back. how this DDL statement can roll back.
An addition:
UDF – User Defined Function
UDF – Subroutines made up of one or more Transact-SQL statements that can be used to encapsulate code for reuse
please solve my all queries which is listed below
To find the 5th row of a table.
To find 2nd highest salary
To find 3 highest salary
To delete duplicate records of a table.
Group functions
Types of join, describe self join and equi join
special operators
Delete records where ename is duplicated
To find 10th lowest salary
union operator
Consider you have table called product and column prod_price with n rows.
if you have the following query you can get the 2nd,3rd,4th highest values just changing the top number in the sub query.
select top 1 prod_price from product where prod_price in(select top 2 prod_price from product
order by prod_price desc)
Above qery resut the 2nd highes value . if you change the top 2 to top 3 in the sub query it will give the 3rd highest ..
select name,roll,marks from student;
union
select name,roll,marks from marks;
means union is used for select data from two table where column name should be same, column number should be same and column data type should also be same and column format also should be same than union works other wise it will not work you can try this query which displayed above
Thanks
Amit Sinha
sir this is very good collection of sel server interview question
its clear all my qustion
thank for this help
this is awesome!!! thank you. i have one question. what do we do when we have a deadlock when executing a query? can somebody pls answer my question?
Awesome posts.Really helping
i want sql server oracle diffence
@Krishna,
This should help
Google on “sql server 2005 compare oracle”
The first link ( from microsoft ….. )
Thanks,
Imran.