DQL Compatibility
DQL support varies by connector. While most connectors support the full DQL syntax, some have limitations based on the capabilities of the underlying data source. This page provides a complete compatibility matrix so you know exactly what is available for each connector.
Supported Connectors
Datafi supports DQL queries against the following connectors:
- MSSQL (Microsoft SQL Server)
- Snowflake
- Databricks
- Oracle
- MySQL
- NetSuite
- PostgreSQL
- BigQuery (Google BigQuery)
- CSV
- Salesforce
- Dynamics (Microsoft Dynamics)
Compatibility Matrix
The table below shows which DQL features are supported on each connector.
| Feature | MSSQL | Snowflake | Databricks | Oracle | MySQL | NetSuite | PostgreSQL | BigQuery | CSV | Salesforce | Dynamics |
|---|---|---|---|---|---|---|---|---|---|---|---|
SELECT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
WHERE | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
AND / OR | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
LIKE | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
JOIN | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
GROUP BY | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
ORDER BY | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
LIMIT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
COUNT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
SUM | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
AVG | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
MIN | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
MAX | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
CSV Limitations
CSV datasources are flat files without a relational engine. As a result, two features are not supported:
- JOIN -- CSV sources consist of a single file and cannot be joined with other tables. If you need to combine CSV data with another source, consider loading the CSV into a relational database first.
- GROUP BY -- Grouping and aggregation require a query engine that CSV files do not provide. You can still use
ORDER BYandLIMITto sort and restrict results.
All other DQL features -- SELECT, WHERE, AND / OR, LIKE, ORDER BY, LIMIT, and scalar aggregate functions (COUNT, SUM, AVG, MIN, MAX) on the full result set -- work as expected on CSV sources.
If you frequently need JOINs or GROUP BY on CSV data, import the CSV into a supported relational connector (such as PostgreSQL or MySQL) and query it from there.
Connector-Specific Notes
MSSQL
MSSQL uses TOP instead of LIMIT in native SQL. Datafi handles this translation automatically -- you write LIMIT in DQL and the engine compiles it to the correct MSSQL syntax.
Oracle
Oracle uses FETCH FIRST n ROWS ONLY in recent versions and ROWNUM in older versions. Datafi compiles LIMIT to the appropriate syntax based on your Oracle version.
Snowflake and BigQuery
Both Snowflake and BigQuery fully support the complete DQL feature set with no special considerations. These cloud data warehouses are designed for analytical workloads and handle JOINs, GROUP BY, and aggregate functions efficiently at scale.
Salesforce and Dynamics
Salesforce and Dynamics are SaaS platforms with their own query languages (SOQL and FetchXML respectively). Datafi translates DQL into the native query format for each platform. All DQL features are supported.
NetSuite
NetSuite supports the full DQL feature set. Datafi translates DQL queries into the appropriate SuiteQL syntax for execution.
Checking Compatibility at Query Time
If you attempt to use an unsupported feature on a connector that does not support it, the query panel displays a clear error message explaining which feature is unavailable and suggesting alternatives.
Next Steps
- DQL Syntax Reference -- Full syntax guide for every DQL keyword and function.
- Query Examples -- Practical, runnable examples across different connector types.
- PRQL Guide -- Explore the pipeline-based query language as an alternative to DQL.