SQL Server 2008 - Interview Questions and Answers
What does TOP Operator Do?
The TOP operator is used to specify the number of rows to be returned by a query. The TOP
operator has new addition in SQL SERVER 2008 that it accepts variables as well as literal
values and can be used with INSERT, UPDATE, and DELETES statements.
What is CTE?
CTE is an abbreviation Common Table Expression. A Common Table Expression (CTE) is an
expression that can be thought of as a temporary result set which is defined within the
execution of a single SQL statement. A CTE is similar to a derived table in that it is not stored
as an object and lasts only for the duration of the query.
What is MERGE Statement?
MERGE is a new feature that provides an efficient way to perform multiple DML operations.
In previous versions of SQL Server, we had to write separate statements to INSERT, UPDATE,
or DELETE data based on certain conditions, but now, using MERGE statement we can
include the logic of such data modifications in one statement that even checks when the
data is matched then just update it and when unmatched then insert it. One of the most
important advantages of MERGE statement is all the data is read and processed only once.
What is Filtered Index?
Filtered Index is used to index a portion of rows in a table that means it applies filter on
INDEX which improves query performance, reduce index maintenance costs, and reduce
index storage costs compared with full-table indexes. When we see an Index created with
some where clause then that is actually a FILTERED INDEX.
Which are new data types introduced in SQL SERVER 2008?
- The GEOMETRY Type: The GEOMETRY data type is a system .NET common language runtime (CLR) data type in SQL Server. This type represents data in a two-dimensional Euclidean coordinate system.
- The GEOGRAPHY Type: The GEOGRAPHY datatype’s functions are the same as with GEOMETRY. The difference between the two is that when you specify GEOGRAPHY, you are usually specifying points in terms of latitude and longitude.
- New Date and Time Datatypes: SQL Server 2008 introduces four new datatypes related to date and time: DATE, TIME, DATETIMEOFFSET, and DATETIME2.
- DATE: The new DATE type just stores the date itself. It is based on the Gregorian calendar and handles years from 1 to 9999.
- TIME: The new TIME (n) type stores time with a range of 00:00:00.0000000 through
23:59:59.9999999. The precision is allowed with this type. TIME supports seconds
down to 100 nanoseconds. The n in TIME (n) defines this level of fractional second
precision, from 0 to 7 digits of precision.
- The DATETIMEOFFSET Type: DATETIMEOFFSET (n) is the time-zone-aware version of
a datetime datatype. The name will appear less odd when you consider what it really
is: a date + a time + a time-zone offset. The offset is based on how far behind or
ahead you are from Coordinated Universal Time (UTC) time.
- The DATETIME2 Type: It is an extension of the datetime type in earlier versions of
SQL Server. This new datatype has a date range covering dates from January 1 of
year 1 through December 31 of year 9999. This is a definite improvement over the
1753 lower boundary of the datetime datatype. DATETIME2 not only includes the
larger date range, but also has a timestamp and the same fractional precision that
TIME type provides
What are the Advantages of using CTE?
- Using CTE improves the readability and makes maintenance of complex queries easy.
- The query can be divided into separate, simple, logical building blocks which can be then used to build more complex CTEs until final result set is generated.
- CTE can be defined in functions, stored procedures, triggers or even views.
- After a CTE is defined, it can be used as a Table or a View and can SELECT, INSERT, UPDATE or DELETE Data.