SQL Training:Exercises on Sub-Queries

Exercise 7:

1. Write a query to display American Airlines flight’s details.

2. Write a query to find which airline is starting from HYDERABAD.

3. Write a query to display Airline name in which contains more no of flights.

4. Write a query to display no of flights airlines wise.

5. Write a query to find which airline contains more than 5 flights.

6. Write a query to display British airways and Delta airlines flights details.

7. Write a query to display airlines details in which airline contains more than maximum no of flights in Delta Airlines.

8. Write a query to display flight details except Delta airlines.

9. Write a query to display total no of flights based on city from.

10. Write a query to display flights details reaching to New York City.

MY SOLUTIONS:

----------------------------------------------
----------------------------------------------
--SUBQUERY EXERCISE

SELECT f.Airlineid
      ,f.flightid
  ,f.cityfrom
  ,f.cityto
 FROM dbo.flights f
WHERE f.Airlineid = (SELECT a.airlineid
                         FROM dbo.Airlines a
WHERE a.airlinename = 'American Airlines')


SELECT a.airlineid
      ,a.airlinename
  ,a.url
 FROM dbo.Airlines a
WHERE a.airlineid IN (SELECT f.Airlineid
                      FROM dbo.flights f
WHERE f.cityfrom LIKE 'HYD%')

SELECT a.airlineid
      ,a.airlinename
  ,a.url
 FROM dbo.Airlines a
WHERE a.airlineid = (SELECT X.TopAirlineid
                       FROM
                     (
                     SELECT TOP 1 f.Airlineid AS TopAirlineid,COUNT(f.flightid) AS FLIGHTCOUNT
                      FROM dbo.flights f
GROUP BY f.Airlineid
ORDER BY FLIGHTCOUNT DESC
) X
)
--NO NEED FOR SUBQUERY
/*SELECT f.Airlineid
      ,COUNT(f.flightid) AS FLIGHTSPERAIRLINE
 FROM dbo.flights f
GROUP BY f.Airlineid
*/
SELECT f.Airlineid
      ,COUNT(f.flightid) AS FLIGHTSPERAIRLINE
 FROM dbo.flights f
WHERE f.Airlineid IN (SELECT a.airlineid
                       FROM dbo.Airlines a
GROUP BY a.airlineid )
GROUP BY f.Airlineid

SELECT a.airlineid
      ,a.airlinename
  ,a.url
 FROM dbo.Airlines a
WHERE a.airlineid IN (
                     SELECT f.Airlineid AS TopAirlineid
                      FROM dbo.flights f
GROUP BY f.Airlineid
HAVING COUNT(f.flightid) > 5
)

SELECT f.Airlineid
      ,f.flightid
  ,f.cityfrom
  ,f.cityto
 FROM dbo.flights f
WHERE f.Airlineid IN (SELECT a.airlineid
                         FROM dbo.Airlines a
WHERE a.airlinename IN ('British Airways','Delta Airlines')
)

SELECT a.airlineid
      ,a.airlinename
  ,a.url
 FROM dbo.Airlines a
WHERE a.airlineid IN (SELECT f.Airlineid
                        FROM dbo.flights f
GROUP BY f.Airlineid
  HAVING COUNT(f.flightid) >
                          (
                           SELECT COUNT(f.flightid) AS FLIGHTCOUNTDELTA
                             FROM dbo.flights f
                            WHERE f.Airlineid = 'DL'
      )
  )

SELECT f.Airlineid
      ,f.flightid
  ,f.cityfrom
  ,f.cityto
 FROM dbo.flights f
WHERE f.Airlineid IN (SELECT a.airlineid
                         FROM dbo.Airlines a
WHERE a.airlinename <> 'Delta Airlines'
)

--NO NEED FOR SUBQUERY
SELECT f.cityfrom
      ,COUNT(f.flightid) AS FLIGHTSPERCITYFROM
 FROM dbo.flights f
GROUP BY f.cityfrom


SELECT f.Airlineid
      ,f.flightid
  ,f.cityfrom
  ,f.cityto
 FROM dbo.flights f

WHERE f.cityto = 'NEW YORK'

Comments

Popular posts from this blog

SQL Training: Exercises on Stored Procedures and Functions

SQL Training: Exercise on Clauses,String and Mathematical functions,Date Time and Aggregate Functions

SQL Training: Exercises on Functions