Java SQL Parser Library¶
A huge thank you to our sponsor, Starlake.ai who simplifies data ingestion, transformation, and orchestration, enabling faster delivery of high-quality data. Starlake has been instrumental in providing Piped SQL and numerous test cases for BigQuery, Redshift, DataBricks, and DuckDB. Show your support for ongoing development by visiting Starlake.ai and giving us a star!
JSQLParser is a SQL statement parser built from JavaCC. It translates SQLs in a traversable hierarchy of Java classes. Since the 5.0 release JSQLParser depends on Java 11 and has introduced new Visitors. Please see the Migration to 5.0 guide.
Latest stable release: JSqlParser-5.1.jar
Development version: JSqlParser-5.2-SNAPSHOT.jar
SELECT /*+ PARALLEL */
cfe.id_collateral_ref.nextval
, id_collateral
FROM ( SELECT DISTINCT
a.id_collateral
FROM cfe.collateral a
LEFT JOIN cfe.collateral_ref b
ON a.id_collateral = b.id_collateral
WHERE b.id_collateral_ref IS NULL )
;
SQL Dialects¶
JSqlParser is RDBMS agnostic and provides support for many dialects such as:
Oracle Database
MS SqlServer
MySQL and MariaDB
PostgreSQL
H2
DuckDB
Google BigQuery
Amazon Redshift
DataBricks
Snowflake
Features¶
- Comprehensive support for statements:
QUERY:
SELECT ...
DML:
INSERT ... INTO ...
UPDATE ...
MERGE ... INTO ...
DELETE ... FROM ...
DDL:
CREATE ...
ALTER ...
DROP ...
Nested Expressions (e.g. Sub-Selects)
WITH
clausesOld Oracle
JOIN (+)
PostgreSQL implicit
CAST ::
SQL Parameters (e.g.
?
or:parameter
)Arrays vs. T-SQL Squared Bracket Quotes
Fluent API to create SQL Statements from java Code
Statement De-Parser to write SQL from Java Objects
Piped SQL (also known as FROM SQL)