Question
Given the following SQL query: SELECT department
_ id, COUNT(*) AS employee _ count FROM employees GROUP BY department_id HAVING COUNT(*) > 5; What is the purpose of the HAVING clause in this query?Solution
The HAVING clause is used in SQL to filter groups created by the GROUP BY clause based on an aggregate function. 1. Aggregate Filtering: Unlike the WHERE clause, which filters rows before grouping, HAVING applies conditions on grouped data. 2. Purpose in Query: In this query, the HAVING clause ensures that only those departments with more than 5 employees (as determined by COUNT(*)) are included in the result set. 3. Execution Process: o The GROUP BY groups the data by department_id. o The COUNT(*) calculates the number of employees in each department. o The HAVING clause filters out groups where COUNT(*) is less than or equal to 5. This differentiation between WHERE and HAVING is crucial for effective data querying. Why Other Options Are Incorrect: • A) To filter rows before grouping them: The WHERE clause performs pre-grouping filtering, not HAVING. • C) To apply a condition to the entire table: HAVING only applies conditions to grouped results. • D) To apply conditions only to the COUNT(*) function: While COUNT(*) is used, the HAVING clause applies to groups as a whole. • E) To sort the rows by department_id: Sorting is achieved using the ORDER BY clause, not HAVING.
Which of the following states comes under the Western Dedicated Freight Corridor?
DFCCIL received US$ ______ billion for the construction of the Eastern Corridor in 2014.
Indian Railway Institute of Civil Engineering is located at:
Which of the following mountain railways in India was declared a World Heritage Site by UNESCO in the year 1999?
Which one of the following States does NOT have the Headquarters of any Railway Zone?Â
What is the name of the mobile application recently launched by Indian Railways for passenger safety?
When was the Southern Railway zone created?
The Canadian Pacific Railway runs between ________________________
The Chittaranjan Locomotive Works factory commenced the production of steam locomotives on:
Â
The Indian Railways carried 1108.79 million tonnes of freight in: