Advertisements

SQL PUZZLE | THE IDENTITY & CONSTRAINT Puzzle – How well do you know them ? | SQL Interview Question

Tags

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,


SQL PUZZLE | THE IDENTITY & CONSTRAINT Puzzle – How well do you know them ? | SQL Interview Question

In this puzzle you have to go through all the SQL query and provide us the output without really executing them at the SSMS. Here you need to provide the data we have in the TestIdentityWithConstraint table.

Q1. What will be the OUTPUT of the following statement?

--

CREATE TABLE TestIdentityWithConstraint
(
	 Id INT IDENTITY(1,1)
	,Vals INT 
)
GO

ALTER TABLE TestIdentityWithConstraint ADD CONSTRAINT ck_Vals CHECK (Vals >= 10)
GO

INSERT INTO TestIdentityWithConstraint(Vals) VALUES (9)
GO

INSERT INTO TestIdentityWithConstraint(Vals) VALUES (11)
GO

SELECT * FROM TestIdentityWithConstraint

--

SOLUTION

Id Vals
———– ———–
2 11

(1 row affected)

Reason – So clearly the first insert will be blocked by the constraint as the vals column cannot accept value below 11. But the Identity column till then created the identity for the column(Id). So when we insert the second row which was successfully inserted will have identity 2 as identity was already 1. So the values will be 2, 11. Please try and let me know if you see any difference.

Enjoy 🙂

Please add comment(s) if you have one or multiple solutions in mind. Thank You.

Pawan Khowal

Pawan is a SQL Server Developer. If you need any help in writing code/puzzle or training please email at – pawankkmr”AT”gmail.com. Meanwhile please go throgh the top pages from his blog.

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

Advertisements

SQL PUZZLE | Fetch ALL Nodes & VALUES dynamically from XML? | Advanced SQL

Tags

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,


SQL PUZZLE | Fetch ALL Nodes & VALUES dynamically from XML? | Advanced SQL

In this you have to go through the entire XML and get all the nodes and their values by just passing the node name. Please see the sample input and expected output.

Sample-1

--

<?xml version="1.0"?>
<Gate>	
	<MyMethods>
		<Cell>3264532</Cell>
		<Email>Pawan@MSBISKills.com</Email>
		<WebSite>MSBISKills.com</WebSite>
		<Fax></Fax>		
	</MyMethods>	
</Gate>

--

Expected output-1

Nm Vals
Cell 3264532
Email Pawan@MSBISKills.com
WebSite MSBISKills.com
Fax

Script – DDL and INSERT sample data

--

DECLARE @XML AS XML = '<?xml version="1.0"?>
<Gate>	
	<MyMethods>
		<Cell>3264532</Cell>
		<Email>Pawan@MSBISKills.com</Email>
		<WebSite>MSBISKills.com</WebSite>
		<Fax></Fax>		
	</MyMethods>	
</Gate>'

--

SOLUTION – 1

--

DECLARE @XML AS XML = '<?xml version="1.0"?>
<Gate>	
	<MyMethods>
		<Cell>3264532</Cell>
		<Email>Pawan@MSBISKills.com</Email>
		<WebSite>MSBISKills.com</WebSite>
		<Fax></Fax>		
	</MyMethods>	
</Gate>'

DECLARE @m TABLE  (Xmls XML)
INSERT INTO @m SELECT @XML
;WITH CTE AS
(
	SELECT 
		 p.value('local-name(.)','VARCHAR(100)') Nm
		,p.value('.[1]','VARCHAR(MAX)') Vals		
	FROM @m x
	OUTER APPLY x.Xmls.nodes(N'/Gate/MyMethods/*') AS u(p)
)
SELECT * FROM CTE

--

Output – 1

--

Nm                     Vals
---------------------- -------------------------
Cell                   3264532
Email                  Pawan@MSBISKills.com
WebSite                MSBISKills.com
Fax                    

(4 rows affected)

--

Enjoy 🙂

Please add comment(s) if you have one or multiple solutions in mind. Thank You.

Pawan Khowal

Pawan is a SQL Server Developer. If you need any help in writing code/puzzle or training please email at – pawankkmr”AT”gmail.com. Meanwhile please go throgh the top pages from his blog.

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

SQL PUZZLE | The Multi Column Creation Puzzle (Multi-JOIN/Conditional Aggregation Puzzle) | SQL Interview Question

Tags

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,


SQL PUZZLE | The Multi Column Creation Puzzle (Multi-JOIN/Conditional Aggregation Puzzle) | SQL Interview Question

In this puzzle you have to create three new columns based on TableB Ids 1, 2 and 3. Relationship between the tables is like TableA(Id) -> TableB(TableAId). Please see the sample input and expected output.

Sample Input

TableA

Id Val
1 P
2 Q

TableB

Id TableAId Amt
1 1 10
1 2 20
2 2 40
3 1 60

Expected output

Id Val FirstAmount SecondAmount ThirdAmount
1 P 10 NULL 60
2 Q 20 40 NULL

Script – DDL and INSERT sample data

--

CREATE TABLE myData1
(
	 Id INT
	,Vals TEXT
)
Go

INSERT INTO myData1 VALUES
(1,'Hello'),
(2,''),
(3,''),
(4,'Where r u ?')
GO

SELECT * FROM myData1
GO


--

SOLUTION – 1

--

SELECT a.Id , a.Val , b1.Amt [FirstAmount] , b2.Amt [SecondAmount], b3.Amt [ThirdAmount] FROM TableA a
LEFT JOIN TableB b1 ON a.id = b1.TableAId AND b1.Id = 1
LEFT JOIN TableB b2 ON a.id = b2.TableAId AND b2.Id = 2
LEFT JOIN TableB b3 ON a.id = b3.TableAId AND b3.Id = 3
WHERE b1.Amt IS NOT NULL OR b2.Amt IS NOT NULL OR b3.Amt IS NOT NULL

--

Output – 1

--

Id          Val        FirstAmount SecondAmount ThirdAmount
----------- ---------- ----------- ------------ -----------
1           P          10          NULL         60
2           Q          20          40           NULL

(2 rows affected)

--

SOLUTION – 2

--

SELECT * FROM 
(
	SELECT a.Id , a.Val , MAX(CASE WHEN b1.Id = 1 THEN b1.Amt END) [FirstAmount] 
						, MAX(CASE WHEN b1.Id = 2 THEN b1.Amt END) [SecondAmount]
						, MAX(CASE WHEN b1.Id = 3 THEN b1.Amt END) [ThirdAmount]
	FROM TableA a
	LEFT JOIN TableB b1 ON b1.TableAId = a.Id
	GROUP BY a.Id , a.Val
)x WHERE x.FirstAmount IS NOT NULL OR x.SecondAmount IS NOT NULL or x.ThirdAmount IS NOT NULL

--

Output – 2

--

Id          Val        FirstAmount SecondAmount ThirdAmount
----------- ---------- ----------- ------------ -----------
1           P          10          NULL         60
2           Q          20          40           NULL

(2 rows affected)

--

Enjoy 🙂

Please add comment(s) if you have one or multiple solutions in mind. Thank You.

Pawan Khowal

Pawan is a SQL Server Developer. If you need any help in writing code/puzzle or training please email at – pawankkmr”AT”gmail.com. Meanwhile please go throgh the top pages from his blog.

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

SQL OUTPUT PUZZLE | THE NULL and UNION – How well do you know them ? | SQL Interview Question

Tags

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,


SQL OUTPUT PUZZLE | THE NULL and UNION – How well do you know them ? | SQL Interview Question

In this puzzle you have to go through all the SQL queries and provide us the output with really executing them at the SSMS.

Q1. What will be the OUTPUT of the following statement?

--

SELECT NULL
UNION ALL
SELECT NULL
UNION
SELECT NULL


--

SOLUTION

--

-----------
NULL

(1 row affected)

--

Reason – Here we will get a single NULL value because the operations will happen in top to bottom approach. So first UNION ALL will happen and after that UNION will happen and thats why we will get a single NULL value as the output.

Q2. What will be the OUTPUT of the following statement?

--

SELECT NULL
UNION 
SELECT NULL
UNION ALL
SELECT NULL

--

SOLUTION

--

-----------
NULL
NULL

(2 rows affected)

--

Reason – Here we will get two NULLs because the operations will happen in top to bottom approach. So first UNION will happen and after that UNION ALL will happen and thats why we will get two NULL values as the output.

Q3. What will be the OUTPUT of the following statement?

--

SELECT NULL
UNION 
SELECT NULL

--

SOLUTION

--

-----------
NULL

(1 row affected)

--

Reason – Here we a single NULL value. Although NULL is not equal to another NULL but in UNION all and UNION it behaves like they are equal. The same is the case with group by.

Enjoy 🙂

Please add comment(s) if you have one or multiple solutions in mind. Thank You.

Pawan Khowal

Pawan is a SQL Server Developer. If you need any help in writing code/puzzle or training please email at – pawankkmr”AT”gmail.com. Meanwhile please go throgh the top pages from his blog.

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

SQL PUZZLE | THE Blank RECORDS PUZZLE | Advanced SQL SERVER

Tags

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,


SQL PUZZLE | THE Blank RECORDS PUZZLE | Advanced SQL SERVER

In this puzzle you have to get Blank Records from the Vals column. Please see the sample input and expected output.

Sample Input

Id Vals
1 Hello
2  
3  
4 Where r u ?

Expected output

Id Vals
2
3

Script – DDL and INSERT sample data

--

CREATE TABLE myData1
(
	 Id INT
	,Vals TEXT
)
Go

INSERT INTO myData1 VALUES
(1,'Hello'),
(2,''),
(3,''),
(4,'Where r u ?')
GO

SELECT * FROM myData1
GO


--

SOLUTION – 1

--

SELECT * FROM myData1
WHERE DATALENGTH(Vals) = 0
GO

--

Reason – In this case we have to use DATALENGTH function since LEN and single quote comparison will not work here as the data type of the column is TEXT. Also note that TEXT data type is going to be deprecated down the same. So its good if we use VARCHAR data type for our project. The puzzle is just for the knowledge purpose.

Output – 1

--

Id          Vals
----------- ------------------
2           
3           

(2 rows affected)

--

Enjoy 🙂

Please add comment(s) if you have one or multiple solutions in mind. Thank You.

Pawan Khowal

Pawan is a SQL Server Developer. If you need any help in writing code/puzzle or training please email at – pawankkmr”AT”gmail.com. Meanwhile please go throgh the top pages from his blog.

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