04
SQL Queries
Chapter 4 • Intermediate
60 min
SQL Queries
SQL (Structured Query Language) is used to interact with relational databases.
Basic SQL Syntax
SELECT Statement
Basic Form:
sql.js
SELECT column1, column2, ...
FROM table_name
WHERE condition;
Example:
sql.js
SELECT name, age
FROM Student
WHERE age > 20;
Aggregate Functions
Common Aggregates:
- COUNT(): Count rows
- SUM(): Sum of values
- AVG(): Average of values
- MAX(): Maximum value
- MIN(): Minimum value
Example:
sql.js
SELECT COUNT(*), AVG(age)
FROM Student;
GROUP BY
Groups rows with same values.
Example:
sql.js
SELECT dept, COUNT(*)
FROM Student
GROUP BY dept;
HAVING
Filters groups (used with GROUP BY).
Example:
sql.js
SELECT dept, COUNT(*)
FROM Student
GROUP BY dept
HAVING COUNT(*) > 10;
Joins
INNER JOIN
Returns matching rows from both tables.
Syntax:
sql.js
SELECT *
FROM table1
INNER JOIN table2
ON table1.key = table2.key;
Example:
sql.js
SELECT s.name, e.grade
FROM Student s
INNER JOIN Enrollment e
ON s.sid = e.sid;
LEFT JOIN (LEFT OUTER JOIN)
Returns all rows from left table and matching rows from right.
Example:
sql.js
SELECT s.name, e.grade
FROM Student s
LEFT JOIN Enrollment e
ON s.sid = e.sid;
RIGHT JOIN (RIGHT OUTER JOIN)
Returns all rows from right table and matching rows from left.
FULL OUTER JOIN
Returns all rows from both tables.
CROSS JOIN
Cartesian product of two tables.
Subqueries
Subquery is a query within another query.
Scalar Subquery
Returns single value.
Example:
sql.js
SELECT name
FROM Student
WHERE age > (SELECT AVG(age) FROM Student);
Correlated Subquery
Subquery references outer query.
Example:
sql.js
SELECT s.name
FROM Student s
WHERE EXISTS (
SELECT 1
FROM Enrollment e
WHERE e.sid = s.sid
);
IN Subquery
Example:
sql.js
SELECT name
FROM Student
WHERE sid IN (
SELECT sid
FROM Enrollment
WHERE grade = 'A'
);
Set Operations
UNION
Combines results (removes duplicates).
Example:
sql.js
SELECT name FROM Student
UNION
SELECT name FROM Teacher;
UNION ALL
Combines results (keeps duplicates).
INTERSECT
Returns common rows.
EXCEPT (MINUS)
Returns rows in first but not in second.
GATE CS Important Points
- JOIN Types: Know INNER, LEFT, RIGHT, FULL OUTER joins
- Aggregates: COUNT, SUM, AVG, MAX, MIN with GROUP BY
- Subqueries: Scalar, correlated, IN, EXISTS
- Set Operations: UNION, INTERSECT, EXCEPT
- Query Optimization: Understand query execution
Practice Tips
- Write Queries: Practice writing SQL for various scenarios
- JOIN Practice: Master all join types
- Subqueries: Practice nested queries
- Aggregates: Use GROUP BY and HAVING
- Previous Year Questions: Solve GATE SQL questions