Skip to main content

Interview Questions and answers - SQL Server Day 10

Question: Can we sort a column using a column alias in SQL Server?

Answer: Yes, we can sort a column using a column alias in SQL Server.
Example: Execute following query


CREATE TABLE #TEMP
(
       FNAME VARCHAR(100)
       ,LNAME VARCHAR(100)
       ,CREATEDDATE DATETIME,
)

INSERT INTO #TEMP
SELECT 'DILIP','SINGH',GETDATE()
UNION ALL
SELECT 'ANIL','SINGH',GETDATE()
UNION ALL
SELECT 'ASHISH','PRATAP', GETDATE()

-- In following query FNAME alias is FISRT_NAME. We can apply Order by caluse on alias as below
SELECT FNAME AS FIRST_NAME,LNAME AS LAST_NAME FROM #TEMP
ORDER BY FIRST_NAME ASC

DROP TABLE #TEMP


Question: What is difference between NULL value, zero and blank space in SQL Server? Is they are same?

Answer: NULL value is difference from zero and blank space, NULL value is unsigned, unavailable, unknown or not applicable while zero is number and blank space is character.

Question: If a table contains duplicates rows how can we eliminate from query result?

Answer: We can eliminate duplicates rows using DISTINCT keywords.
For Example: Execute following query.


CREATE TABLE #TEMP
(
       FNAME VARCHAR(100)
       ,LNAME VARCHAR(100)
       ,CREATEDDATE DATETIME,
)

INSERT INTO #TEMP
SELECT 'DILIP','SINGH',GETDATE()
UNION ALL
SELECT 'DILIP','SINGH',GETDATE()
UNION ALL
SELECT 'ASHISH','PRATAP', GETDATE()


SELECT DISTINCT FNAME LNAME FROM #TEMP

DROP TABLE #TEMP


Question: What is default sorting ordering of ORDER BY CLAUSE in SQL Server?

Answer:  Default sorting order of ORDER By clause is ascending.

Question: Is following query will run or not in SQL Server?


SELECT FNAME LNAME, COUNT(*) FROM #TEMP


Answer: No, I will give an error '#TEMP.FNAME' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.’

Right query is.


SELECT FNAME LNAME, COUNT(*) FROM #TEMP
GROUP BY FNAME



Popular posts from this blog

Remove special character from string in MongoDB

Problem: Suppose wehave a collection and one field is type string contains some special character (like !@#$%) and we don’t want these special character.
Solution: We can easily remove the special character from field using script “replace(/[^a-zA-Z 0-9 ]/g, '')” in our query.  How can we remove special character from string using this script please see following example.
Example: Suppose we have a collection “EduSurvey “where we are collecting information from institutions.

{Name:"JB institute”, About:"This is good one collage for MBA", Information:"This $%%institute ##has good faculty etc$$"}
{Name:"MK institute”, About:"This is good one collage for MCA", Information:"This$$%# is the dummy text12"}
{Name:"MG institute”, About:"This is good one collage for B,Tech", Information:"This# institute@ has&* good infrastructure"}

Did you notice Information fields contains some special character so we…

Add day to ISODate in MongoDB

We can use $add operator to add days in ISODate in mongodb, $add is the Arithmetic Aggregation Operator which adds number and date in mongodb.
Syntax:

{ $add: [ <expression1>, <expression2>, ... ] }

Note:  If one of the argument is date $add operator treats to other arguments as milliseconds to add to the date.
Example: Suppose we have a Test collection as below.

{"Title" : "Add day to ISODate in MongoBD","CreatedDate" : ISODate("2016-07-07T08:00:00.000Z")}

Query to add 2 days in CreatedDate

db.Test.aggregate([      { $project: { Title: 1, AddedDate: { $add: [ "$CreatedDate", 2*24*60*60000 ] } } }    ])

Result:

{ "_id" : ObjectId("579a1567ac1b3f3732483de0"), "Title" : "Add day to ISODate in MongoBD", "AddedDate" : ISODate("2016-07-09T08:00:00.000Z") }

Note: As mentioned in above note we have to convert days in millisecond because $add operator treat to other arg…