Friday, January 4, 2008

Sql Server questions:


1. Which statements should you use to return only the ten rows from the Products table?

ANS: select TOP 10 page_id from page

2. Select all types for which there are more than one book titles?

Titles Table

Title_id

Tid (varchar)

Title

Varchar (80)

Type

Char (12)

ANS:

SELECT type,count(title) FROM Titles

GROUP BY title

HAVING count(title) > 1

3. Select all Authors who live in the same city and state as publisher.

Authors Table

Au_id

Id (varchar)

Au_lname

Varchar (40)

Au_fname

Varchar (20)

City

Varchar (20)

State

Char (2)

Publishers Table

pub_id

Id (varchar)

pub_name

Varchar (40)

City

Varchar (20)

State

Char (2)

ANS:

 
 SELECT Au_lname from Authors a
 Inner join  Publishers p on a.City = p.city and a.State = p.State
 
 

4. Sub Query

Question: Get the second largest price product from products table.

Products

ProductID

Int

ProductName

Varchar (40)

UnitPrice

Money (8)

Answer:

select max(page_id) from page

where page_id not in (select max(page_id) from page )

5. Select all products having UnitPrice between 100 and 500?

Products

ProductID

Int

ProductName

Varchar (40)

UnitPrice

Money (8)

ANS:

select page_id from page

where page_id between 3 and 12

6.Get list of products by Ascending order of product name and descending order of unit price.

Products

ProductID

Int

ProductName

Varchar (40)

UnitPrice

Money (8)

ANS:

select page_id,page_name from page

order by page_id asc, page_name DESC

7. What result you will get by following query?

Products

ProductID

Int

ProductName

Varchar (40)

UnitPrice

Money (8)

SELECT * FROM Products WHERE ProductName Like ‘[a-z]%’

ANS:

Only start with any a-z alphabet character.

8. What will be result of following statement?

SELECT ProductName as Test FROM Products GROUP BY Test

ANS:

Invalid column name 'Test'.

9. Get unique type names from Titles table.

Titles Table

Title_id

Tid (varchar)

Title

Varchar (80)

Type

Char (12)

Records:

Title_id Title Type

BU1032 The Busy Executive's business

BU1111 Cooking with Computers business

MC2222 Silicon Valley Gastronomic mod_cook

MC3021 The Gourmet Microwave mod_cook

MC3026 The Psychology of Computer UNDECIDED

PS2091 Is Anger the Enemy? psychology

PS2106 Life Without Fear psychology

ANS:

SELECT distinct Type from Titles

10. Get all Authors for which titles are present?

authors

au_id

id (varchar)

au_lname

Varchar(40)

au_fname

Varchar(20)

Titleauthor

au_id

id (varchar)

Title_id

tid (varchar)

au_ord

tinyint

ANS:

SELECT a.au_lname, a.au_fname

FROM authors a

INNER JOIN Titleauthor ta ON a.au_id = ta. .au_id



1. Write a statement that will return ProductID and Name from Products table for whose UnitPrice exceeds $40, also sort the result by Name in ascending order.

ANS: Select ProductID, Name From Products Where UnitPrice>40 Order by Name asc

2. Write a statement that will return the Names of all employees whose salary are equal to maximum salary paid by company.

Employee

ID

Int

FirstName

Varchar (50)

LastName

Varchar (50)

Salary

Money

ANS: Select * From Employee where salary in (SELECT MAX(Salary) FROM Employee)

3. Retrieve Authors name and when applicable the names of any Employee that are located in the same city as Authors.

Authors

ID

Int

AuName

Varchar(50)

City

Varchar(50)

Employee

ID

Int

EmName

Varchar (50)

City

Varchar (50)

ANS: Select AuName,EmName From Author Left Outer Join Employee on Author.City = Employee.City

4. Get all records from Titles table for which Title_ID starts with ‘M’ and Type starts with ‘U’.

Titles Table

Title_id

Tid (varchar)

Title

Varchar (80)

Type

Char (12)

Records:

Title_id Title Type

BU1032 The Busy Executive's business

BU1111 Cooking with Computers business

MC2222 Silicon Valley Gastronomic mod_cook

MC3021 The Gourmet Microwave mod_cook

MC3026 The Psychology of Computer UNDECIDED

PS2091 Is Anger the Enemy? psychology

PS2106 Life Without Fear psychology

ANS: Select * From Titles where Title_ID like ‘M%’ and Type like ‘U%

5. What will be result of following statement?

Products

ProductID

Int

ProductName

Varchar (40)

ExpiryDate

DateTime

UnitsInStock

Int

Select * from Products where (ProductID = ProductID+1)

ANS: No records.

6. Get all products from Products table for which will expire within one week from now?

Products

ProductID

Int

ProductName

Varchar (40)

ExpiryDate

DateTime

UnitsInStock

Int

ANS: Select * from products where ExpiryDate<=DATEADD(dd,7,GetDate()) AND ExpiryDate>=GetDate()

7. What will be result of following statement?

SELECT ProductName FROM Products group by ProductName,UnitsInStock having UnitsInStock>10

ANS: Unique products for which UnitsInStocks are greater than 10.

8. Get all Authors for which titles are present?

authors

au_id

id (varchar)

au_lname

Varchar(40)

au_fname

Varchar(20)

Titleauthor

au_id

id (varchar)

Title_id

tid (varchar)

au_ord

Tinyint

ANS:

SELECT * FROM authors WHERE au_id IN (SELECT au_ID FROM titleauthor)

9. Get the second minimum price product from products table.

Products

ProductID

Int

ProductName

Varchar (40)

UnitPrice

Money (8)

ANS:

SELECT MIN (a.UnitPrice) FROM Products a WHERE a.UnitPrice NOT IN (SELECT MIN (b.UnitPrice) FROM Products b)

10. Update the UnitPrice of the products named “Test Product” with the average price of products in products table.

Products

ProductID

Int

ProductName

Varchar (40)

UnitPrice

Money (8)

ANS: Update Products

set UnitPrice = (SELECT AVG (UnitPrice) From Products) Where ProductName=’Test Product’


No comments: