Select statement is used to fetch data from one or more tables. It can use predicates like WHERE, GROUP BY, HAVING, and ORDER BY. The WHERE clause filters rows based on conditions, GROUP BY organizes rows into groups, HAVING applies conditions to groups, and ORDER BY sorts the results. Aggregate functions like COUNT, SUM, AVG, MAX, MIN perform calculations on multiple rows and return a single value.