Advanced SQL
In the following sections, some other advanced SQL techniques will be introduced:
- The
DISTINCT ON
clause, which helps finding the first records in groups - The set returning functions, which are functions that return relations
LATERAL
joins, which allow subqueries to reference each other- Some special aggregating functions
Selecting the first records
Quite often it is necessary to find the first records based on some criteria. For example, let's take the car_portal
database; suppose it is required to find the first advertisement for each car_id
in the advertisement
table.
Grouping can help in this case. It will require a subquery to implement the logic:
SELECT advertisement_id, advertisement_date, adv.car_id, seller_account_id FROM car_portal_app.advertisement ...
Get Learning PostgreSQL now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.