Table API & SQL
Apache Flink features two relational APIs - the Table API and SQL - for unified stream and batch processing.
The Table API is a language-integrated query API for Java, Scala, and Python that allows the composition of queries from relational operators such as selection, filter, and join in a very intuitive way.
Flink’s SQL support is based on Apache Calcite which implements the SQL standard.
Queries specified in either interface have the same semantics and specify the same result regardless of whether the input is continuous (streaming) or bounded (batch).
How Flink SQL relates to other Flink APIs

Your Guide to Flink SQL: An In-Depth Exploration
📄️ Table API
Dynamic tables and continuous queries
📄️ SQL
SQL
📄️ SQL Client
SQL Client