• Home
  • SQL Server
    • Articles
    • T-SQL Puzzles
    • Output Puzzles
    • Interview Questions
    • Performance Tuning
    • SQL SERVER On Linux
    • Resources
  • SSRS
    • SSRS Articles
    • Interview Questions
  • SSAS
    • SSAS Articles
    • DAX
  • SQL Puzzles
  • Interview Questions
    • SQL Interview Questions
    • Data Interview Questions
  • Python Interview Puzzles
  • New Features(SQL SERVER)
    • SQL SERVER 2017
    • SQL SERVER 2016
    • SQL SERVER On Linux
  • Social
    • Expert Exchange
      • Top Expert in SQL
      • Yearly Award
      • Certifications
      • Achievement List
      • Top Expert of the Week
    • HackerRank (SQL)
    • StackOverflow
    • About Me
      • Contact Me
      • Blog Rules

Improving my SQL BI Skills

Improving my SQL BI Skills

Daily Archives: July 30, 2018

SQL Server Interview Questions & Answers โ€“ SET 22(10 Questions & Answers)

30 Monday Jul 2018

Posted by Pawan Kumar Khowal in Download SQL Interview Q's, SQL Concepts, SQL SERVER, SQL Server Interview Questions

≈ Leave a comment


SQL Server Interview Questions & Answers โ€“ SET 22(10 Questions & Answers)

These questions were asked to one of my friend in an recent technical encounter. Well he has got 10 years of experience ๐Ÿ™‚

1. Can we use an ORDER BY clause in a CTE?

Ans:-

Yes you can with the help of TOP operator. Without TOP operator it is not possible to use order by inside a CTE. If you try you will get an error saying – Msg 1033, Level 15, State 1, Line 18
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified. Please check out the example below.

Example – 1 | With TOP

--

CREATE TABLE FirstTab
(
	 ID INT	
)
GO

INSERT INTO FirstTab VALUES
(1),
(2),
(4),
(3)
GO

;WITH CTE AS
(
	SELECT TOP 100 * FROM FirstTab
	ORDER BY Id DESC
)
SELECT * FROM CTE
GO

--OUTPUT

ID
-----------
4
3
2
1

(4 rows affected)


--

Example – 2 | Without TOP

--

CREATE TABLE FirstTab
(
	 ID INT	
)
GO

INSERT INTO FirstTab VALUES
(1),
(2),
(4),
(3)
GO

;WITH CTE AS
(
	SELECT * FROM FirstTab
	ORDER BY Id DESC
)
SELECT * FROM CTE
GO

--OUTPUT

Msg 1033, Level 15, State 1, Line 18
The ORDER BY clause is invalid in views, inline functions, derived tables
, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified.


--

2. Do you know – Natural join? How you can use Natural JOIN In SQL SERVER?

Ans:-

Natural Joins are not there in SQL SERVER. For the sake of concept I am gonna explain the concept here. I had leaned that while I was working in Oracle in 2009. They are also present in mySQL Server.

Natural Joins are not there in SQL SERVER. For the sake of concept I am gonna explain the concept here. I had leaned that while I was working in Oracle in 2009.

A NATURAL JOIN is a JOIN operation that creates an inner join between common columns in the two tables being joined. Common columns are columns that have the same name in both tables or you can also specify names by USING keyword.

A NATURAL JOIN can be an INNER join, a LEFT OUTER join, or a RIGHT OUTER join. The default is INNER join.

If the SELECT statement in which the NATURAL JOIN operation appears has an asterisk (*) in the select list, the asterisk will be expanded to the following list of columns (in this order):-
All the common columns
Every column in the first (left) table that is not a common column
Every column in the second (right) table that is not a common column
An asterisk qualified by a table name (for example, COUNTRIES.*) will be expanded to every column of that table that is not a common column.

If a common column is referenced without being qualified by a table name, the column reference points to the column in the first (left) table if the join is an INNER JOIN or a LEFT OUTER JOIN. If it is a RIGHT OUTER JOIN, unqualified references to a common column point to the column in the second (right) table.

Syntax

--

TableExpression NATURAL [ { LEFT | RIGHT } 
[ OUTER ] | INNER ] JOIN { TableViewOrFunctionExpression | ( TableExpression ) }

--

Notes –
1. With NATURAL JOINS columns with the same name of associate tables will appear once only in the output.

Refer below for more-

Oracle Natural JOIN
https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqljnaturaljoin.html

mySQL Server Natural JOIN
https://dev.mysql.com/doc/refman/8.0/en/join.html

Examples below – From Oracle(http://rextester.com)

--                            

CREATE TABLE Pawant1
(
    Id INT
   ,Name VARCHAR2(20)
)
\\


INSERT INTO Pawant1 VALUES (1,'Pawan')
\\
INSERT INTO Pawant1 VALUES (2,'Avtaar')
\\
INSERT INTO Pawant1 VALUES (3,'Dil')
\\

CREATE TABLE Pawant2
(
    Id INT
   ,Name VARCHAR2(20)
)
\\

INSERT INTO Pawant2 VALUES (3,'Dil')
\\

--Example 1

SELECT * FROM Pawant1
NATURAL JOIN Pawant2

--OUTPUT 

 	ID	NAME
1	3	Dil


--Example 2 | By USING Keyword and removing Natural keyword

SELECT * FROM Pawant1
JOIN Pawant2
USING(Id)

--OUTPUT 

 	ID	NAME
1	3	Dil

--

Note – After executing the above commands you need to stop and start SQL Server.

3. Can you tell me few limitations of an IDENTITY column

Ans:-

You cannot update value of an identity once it is generated and you can use it on Int columns.

4. How you can get the primary key information for a single table using T-SQL query

Ans:-

You can use sp_pkeys or sp_primarykeys procedures. Please refer below for more details-

sp_pkeys – It returns the primary key information for a single table in the current environment.
https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-pkeys-transact-sql?view=sql-server-2017

sp_primarykeys – It returns the primary key columns, one row per key column, for the specified remote table.
https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-primarykeys-transact-sql?view=sql-server-2017

5. How many types of XML indexes in SQL Server?

Ans:-

XML indexes categories are of two types

1. Primary XML index
2. Secondary XML index

Primary XML index
The primary XML index indexes all tags, values, and paths within the XML instances in an XML column. To create a primary XML index, the table in which the XML column occurs must have a clustered index on the primary key of the table. SQL Server uses this primary key to correlate rows in the primary XML index with rows in the table that contains the XML column.

The primary XML index is a shredded and persisted representation of the XML BLOBs in the xml data type column. For each XML binary large object (BLOB) in the column, the index creates several rows of data. The number of rows in the index is approximately equal to the number of nodes in the XML binary large object. When a query retrieves the full XML instance, SQL Server provides the instance from the XML column. Queries within XML instances use the primary XML index, and can return scalar values or XML subtrees by using the index itself.

Secondary XML index

To enhance search performance, you can create secondary XML indexes.These are the types:
PATH secondary XML index
VALUE secondary XML index
PROPERTY secondary XML index

Read more from – https://docs.microsoft.com/en-us/sql/relational-databases/xml/xml-indexes-sql-server?view=sql-server-2017#secondary-xml-indexes

Note-
A primary XML index must first exist before you can create secondary indexes

Read more about the XML Indexes from below-
https://docs.microsoft.com/en-us/sql/relational-databases/xml/xml-indexes-sql-server?view=sql-server-2017

6. How can you import data into SQL Server using T-SQL without SSIS?

Ans:-

You can you use any one of the below commands. Also depends from where we are fetch the data.

1. Linked Servers
2. OPENQUERY
3. BCP
4. OPENDATASOURCE
5. OpenRowSet
6. Bulk Insert

7. Why we should not use ORDER BY NEWID() for getting the sample data from a large table?

Ans:-

This is because it will scan the entire table and calculate NEWID() for each row and after that sorts. You should use something else. ๐Ÿ™‚

8. How to clear Plan Cache in SQL SERVER(on-premise) and On SQL Azure?

ON SQL Premise-
dbcc freeproccache

Read more from-
https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-freeproccache-transact-sql?view=sql-server-2017

ON SQL Azure-
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;

Read more from-
https://msdn.microsoft.com/en-us/library/mt629158.aspx

9. Can we create a clustered index on a uniqueidentifier column

Ans:-

Yes you can but you should not

10. What will be the output of SELECT (1/2) * 10

Ans:-

I am leaving this answer for yourself.

Enjoy ๐Ÿ™‚

Page Detail URL
โ˜› SQL Advance Puzzles https://msbiskills.com/tsql-puzzles-asked-in-interview-over-the-years/
โ˜› SQL Tricky Queries https://msbiskills.com/sql-puzzles-finding-outputs/
โ˜› SQL Server Perfomance tuning Articles https://msbiskills.com/sql-performance-tuning/
โ˜› SQL Server Articles https://msbiskills.com/t-sql/
โ˜› SQL Interview Questions & Answers https://msbiskills.com/sql-server-interview-questions/

My SQL Groups on Facebook:

1. If you like this post, you may want to join my SQL SERVER Interview Puzzles/Interview Questions on Facebook: https://www.facebook.com/groups/1430882120556342/

2. If you like this post, you may want to join my SQL Server Puzzles on Facebook:
https://www.facebook.com/groups/206594023090781/

My SQL Page on Facebook:

2. For all the updates you may follow my page -> https://www.facebook.com/MSBISkillscom-1602779883299222/

Enjoy !!!ย Keep Learning

Http://MsbiSkills.com

Share this

  • LinkedIn
  • Facebook
  • Twitter
  • WhatsApp
  • Email

Blog Stats

  • 1,085,537 hits

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 1,131 other subscribers

Pawan Khowal

502 SQL Puzzles with answers

Achievement - 500 PuzzlesJuly 18, 2018
The big day is here. Finally presented 500+ puzzles for SQL community.

200 SQL Server Puzzle with Answers

The Big DayAugust 19, 2016
The big day is here. Completed 200 SQL Puzzles today

Archives

July 2018
M T W T F S S
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
« Jun   Aug »

Top Articles

  • pawankkmr.wordpress.com/2…
  • pawankkmr.wordpress.com/2…
  • pawankkmr.wordpress.com/2…
  • pawankkmr.wordpress.com/2…
  • pawankkmr.wordpress.com/2…

Archives

  • October 2020 (29)
  • September 2018 (2)
  • August 2018 (6)
  • July 2018 (25)
  • June 2018 (22)
  • May 2018 (24)
  • April 2018 (33)
  • March 2018 (35)
  • February 2018 (53)
  • January 2018 (48)
  • December 2017 (32)
  • November 2017 (2)
  • October 2017 (20)
  • August 2017 (8)
  • June 2017 (2)
  • March 2017 (1)
  • February 2017 (18)
  • January 2017 (2)
  • December 2016 (5)
  • November 2016 (23)
  • October 2016 (2)
  • September 2016 (14)
  • August 2016 (6)
  • July 2016 (22)
  • June 2016 (27)
  • May 2016 (15)
  • April 2016 (7)
  • March 2016 (5)
  • February 2016 (7)
  • December 2015 (4)
  • October 2015 (23)
  • September 2015 (31)
  • August 2015 (14)
  • July 2015 (16)
  • June 2015 (29)
  • May 2015 (25)
  • April 2015 (44)
  • March 2015 (47)
  • November 2012 (1)
  • July 2012 (8)
  • September 2010 (26)
  • August 2010 (125)
  • July 2010 (2)

Article Categories

  • Analysis Services (6)
    • DAX (6)
  • Data (2)
    • Data warehousing (2)
  • Integration Services (2)
  • Magazines (3)
  • Python (29)
  • Reporting Services (4)
  • SQL SERVER (820)
    • Download SQL Interview Q's (212)
    • SQL Concepts (323)
    • SQL Performance Tuning (155)
    • SQL Puzzles (331)
    • SQL SERVER 2017 Linux (6)
    • SQL Server Interview Questions (308)
    • SQL SERVER Puzzles (332)
    • T SQL Puzzles (547)
    • Tricky SQL Queries (439)
  • UI (30)
    • ASP.NET (5)
    • C# (13)
    • CSS (9)
    • OOPS (3)
  • Uncategorized (5)

Recent Posts

  • Python | The Print and Divide Puzzle October 30, 2020
  • Python | Count consecutive 1โ€™s from a list of 0’s and 1’s October 30, 2020
  • Python | How to convert a number into a list of its digits October 26, 2020
  • Python | Validate an IP Address-IPV6(Internet Protocol version 6) October 26, 2020
  • Python | Print the first non-recurring element in a list October 26, 2020
  • Python | Print the most recurring element in a list October 26, 2020
  • Python | Find the cumulative sum of elements in a list October 26, 2020
  • Python | Check a character is present in a string or not October 26, 2020
  • Python | Check whether a string is palindrome or not October 26, 2020
  • Python | Find the missing number in the array of Ints October 26, 2020
  • Python | How would you delete duplicates in a list October 26, 2020
  • Python | Check whether an array is Monotonic or not October 26, 2020
  • Python | Check whether a number is prime or not October 26, 2020
  • Python | Print list of prime numbers up to a number October 26, 2020
  • Python | Print elements from odd positions in a list October 26, 2020
  • Python | Print positions of a string present in another string October 26, 2020
  • Python | How to sort an array in ascending order October 26, 2020
  • Python | How to reverse an array October 26, 2020
  • Python | Find un-common words from two strings October 26, 2020
  • Python | How to convert a string to a list October 26, 2020
  • Python | Find unique words from a string October 26, 2020
  • Python | Calculate average word length from a string October 26, 2020
  • Python | Find common words from two strings October 26, 2020
  • Python | Find the number of times a substring present in a string October 26, 2020
  • Python | Find maximum value from a list October 26, 2020
  • Python | How to find GCF of two numbers October 26, 2020
  • Python | How to find LCM of two numbers October 26, 2020
  • Python | How to convert a list to a string October 26, 2020
  • Python | Replace NONE by its previous NON None value October 26, 2020
  • Microsoft SQL Server 2019 | Features added to SQL Server on Linux September 26, 2018

Create a website or blog at WordPress.com

  • Follow Following
    • Improving my SQL BI Skills
    • Join 231 other followers
    • Already have a WordPress.com account? Log in now.
    • Improving my SQL BI Skills
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar