LATERAL

Advanced

Allows a subquery in FROM to reference columns from preceding tables. Enables correlated subqueries in FROM.

Syntax

FROM t1, LATERAL (SELECT ... WHERE ... = t1.col) sub

Example

SELECT u.name, recent.title
FROM users u,
LATERAL (
  SELECT title FROM posts
  WHERE user_id = u.id
  ORDER BY created_at DESC
  LIMIT 3
) recent;

About SQL LATERAL

The LATERAL keyword belongs to the Advanced category of SQL statements. Allows a subquery in FROM to reference columns from preceding tables. Enables correlated subqueries in FROM. Understanding this command is essential for any developer working with relational databases like PostgreSQL, MySQL, SQLite, or SQL Server.

SQL (Structured Query Language) is the standard language for managing and querying relational databases. The LATERAL statement is supported across all major database systems, though specific syntax may vary slightly between PostgreSQL, MySQL, MariaDB, Oracle, SQL Server, and SQLite. Always consult your database's documentation for vendor-specific features and limitations.

Best practices for using LATERAL: always test queries on a development database before running them in production, use parameterized queries to prevent SQL injection, and leverage EXPLAIN to understand query performance. For complex queries, consider using CTEs (Common Table Expressions) to improve readability and maintainability.

Related SQL Keywords