Group By Contd...
Duration: 19 min
This video lesson is available to enrolled students.
Inside: a video lesson and guided study material.
Module outline
- Quantitative Aptitude: Number System, Percentage, Profit and Loss, Ratio and Proportion (Ratios), Average, Time and Work, Speed Time and Distance, Simple Interest and Compound Interest, Mixture and Alligation, Data Interpretation, Permutation and Combination, Probability, Logarithm, Powers and Exponents (Surds and Indices), Age Problems, Divisibility Rules, Partnership, HCF LCM, Algebra, Pipe and Cistern
- Logical Reasoning: Series (Number and Letter Series) (Numerical Relations and Reasoning), Analogy, Coding Decoding, Blood Relations, Directions (Direction Test), Syllogisms, Logical Sequence Of Words, Data Sufficiency, Seating Arrangements, Puzzle Solving (Puzzles), Calendar, Clock, Cubes & Dices, Deductive and Inductive Reasoning (Logical Deduction and Induction) (Prepositional Reasoning), Data Arrangement
- English Language: Comprehension / Reading Comprehension / Unseen Passages (Critical Reasoning) (Paragraph Questions), Sentence Correction (Error Correction), Sentence Completion (Fill in the blanks), Vocabulary, Sentence Re-arrangements (Para Jumbles) (Narrative Sequencing), Active Passive Voice (Voice), Direct and Indirect Speech, Cloze Test (Cloze Passage), Tenses, Subject Verb Agreement (Verb Noun Agreement), Preposition, Articles, Conjunction, Adverb
- Written English Test: English Writing Ability
- Coding: Coding Questions by Yash Sir, C Programming by Yash Sir, Programming in C++, Java, Python for Placements by Yash Sir
- Communication Round: Communication Assessment
- DBMS (Technical Interview): Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, Relational Calculus, Transaction Management, Concurrency Control, Database Recovery, ORDBMS, Database Security & Authorization, Query Processing & Optimization, Enhanced Data Models, Big Data Systems, NoSQL, Data Warehousing & Mining
- SQL (Technical Interview): SQL
- Operating Systems (Technical Interview): Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Deadlock, Threads & Process Creation, Memory Management, Virtual Memory, Disc Scheduling, File Management, Windows OS, Linux OS, Security, Distributed Systems, Virtual Machines
- Computer Networks (Technical Interview): Introduction to CN, Data Communication, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP, Application Layer, Hardware basics, Network Security, Mobile Technology, Cloud Computing and IoT, Cyber and Info Security
- OOPs (Technical Interview): Object Oriented Programming (OOPS)
- HR Interview: MR & HR Interview Preparation
AI summary & chapters
AI Summary
An AI-generated summary of this video lecture.
This lecture segment focuses on the rules and mechanics of SQL GROUP BY, HAVING, and aggregation. The instructor establishes that any attribute in the SELECT clause must either be aggregated or included in the GROUP BY clause to prevent errors. The HAVING clause is introduced as a mechanism for filtering groups after aggregation, distinct from the WHERE clause which filters individual tuples. The lesson concludes by defining the formal sequence of operations for SQL query evaluation involving these clauses.
Chapters
0:00 – 2:00 00:00-02:00
The instructor introduces the fundamental rules governing SQL GROUP BY and HAVING clauses. He emphasizes that non-aggregated attributes in a SELECT statement must be present in the GROUP BY clause to avoid errors. The text on screen states, 'When an SQL query uses grouping, it is important to ensure that the only attributes that appear in the select…' and 'In other words, any attribute that is not present in the group by clause must appear only inside an aggregate function…'. The instructor underlines key terms and uses hand gestures to stress the distinction between individual tuples and groups, setting the stage for understanding aggregation constraints.
2:00 – 5:00 02:00-05:00
The lecture transitions to the HAVING clause, explaining its purpose in filtering groups rather than individual tuples. The slide text reads, 'The Having Clause - At times it is useful to state a condition that applies to groups rather than to tuples.' The instructor clarifies that SQL applies predicates in the HAVING clause after groups have been formed. He notes, 'Any attribute that is present in the having clause without being aggregated must appear in the group by clause,' reinforcing the consistency required between GROUP BY and HAVING attributes. Visual cues include red underlining of key terms to highlight syntax requirements.
5:00 – 10:00 05:00-10:00
The instructor provides concrete SQL examples to illustrate valid and invalid queries. He writes 'select (dno) from emp group by dno' as a valid example and contrasts it with 'select eno, from emp group by dno;' which is invalid due to the missing GROUP BY attribute. The lesson emphasizes that attributes in SELECT must be either aggregated or grouped. He introduces the concept of filtering groups using HAVING, noting that 'SQL applies predicates in the having clause after groups have been formed.' The instructor uses checkmarks and crosses to visually indicate correct versus incorrect syntax, ensuring students understand the strict rules for non-aggregated attributes.
10:00 – 15:00 10:00-15:00
The focus shifts to the sequence of operations in SQL query evaluation. The instructor explains that the meaning of a query containing aggregation, GROUP BY, or HAVING is defined by a specific order. He writes out the steps on the slide: '1. As was the case for queries without aggregation, the from clause is first evaluated to get a relation.' He continues with '2. If a where clause is present, the predicate in the where clause is applied on the result relation of the from clause.' This section clarifies that WHERE filters before GROUP BY, establishing the logical flow of query processing.
15:00 – 18:37 15:00-18:37
The instructor completes the sequence of operations by detailing steps 3 through 5. He explains, '3. Tuples satisfying the where predicate are then placed into groups by the group by clause if it is present.' He further states, '4. The having clause, if it is present, is applied to each group; the groups that do not satisfy the having clause…' Finally, he concludes with '5. The select clause uses the remaining groups to generate tuples of the result of the query.' Using a sample query 'select empno dno, count(eno) from emp', he numbers each clause (1-5) to map them to their execution order, demonstrating how FROM starts the process and SELECT finishes it.
The lecture systematically builds understanding of SQL aggregation rules. It begins by defining the constraint that non-aggregated SELECT attributes must appear in GROUP BY, preventing common syntax errors. The HAVING clause is then distinguished from WHERE by its application to groups post-aggregation, requiring similar attribute constraints. The final section formalizes the query evaluation sequence: FROM -> WHERE -> GROUP BY -> HAVING -> SELECT. This logical order is critical for understanding how SQL processes complex queries, ensuring students grasp that filtering happens before grouping and aggregation results are filtered again by HAVING before the final projection.