All Projects → ronsavage → Sql

ronsavage / Sql

Licence: mit
BNF Grammars for SQL-92, SQL-99 and SQL-2003

Labels

Projects that are alternatives of or similar to Sql

Instrumentedsql
A sql driver that will wrap any other driver and log/trace all its calls
Stars: ✭ 244 (-5.79%)
Mutual labels:  sql
Sqlparser
Simple SQL parser meant for querying CSV files
Stars: ✭ 249 (-3.86%)
Mutual labels:  sql
Clickhouse
ClickHouse® is a free analytics DBMS for big data
Stars: ✭ 21,089 (+8042.47%)
Mutual labels:  sql
Ocilib
OCILIB (C and C++ Drivers for Oracle) - Open source C and C++ library for accessing Oracle databases
Stars: ✭ 245 (-5.41%)
Mutual labels:  sql
Yearning Go
Mysql web端sql审核平台
Stars: ✭ 249 (-3.86%)
Mutual labels:  sql
Bitnami Docker Mariadb
Bitnami MariaDB Docker Image
Stars: ✭ 251 (-3.09%)
Mutual labels:  sql
Data
ATK Data - Data Access Framework for high-latency databases (Cloud SQL/NoSQL).
Stars: ✭ 243 (-6.18%)
Mutual labels:  sql
Leader.js.cool
不可替代的团队领袖培养计划
Stars: ✭ 257 (-0.77%)
Mutual labels:  sql
Swifql
💎 A Swift DSL for type-safe, extensible, and transformable SQL queries.
Stars: ✭ 250 (-3.47%)
Mutual labels:  sql
Xo
Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server
Stars: ✭ 2,974 (+1048.26%)
Mutual labels:  sql
Scenic
Scenic is maintained by Derek Prior, Caleb Hearth, and you, our contributors.
Stars: ✭ 2,856 (+1002.7%)
Mutual labels:  sql
Jaydebeapi
JayDeBeApi module allows you to connect from Python code to databases using Java JDBC. It provides a Python DB-API v2.0 to that database.
Stars: ✭ 247 (-4.63%)
Mutual labels:  sql
Huge Collection Of Cheatsheet
Share of my Huge Collection of Cheatsheet (Coding, Cheat, Pinouts, Command Lists, Etc.)
Stars: ✭ 250 (-3.47%)
Mutual labels:  sql
Tora
TOra is an open source SQL IDE for Oracle, MySQL and PostgreSQL dbs
Stars: ✭ 245 (-5.41%)
Mutual labels:  sql
Mybatis 3
MyBatis SQL mapper framework for Java
Stars: ✭ 16,617 (+6315.83%)
Mutual labels:  sql
Sql Lint
An SQL linter
Stars: ✭ 243 (-6.18%)
Mutual labels:  sql
Duckdb
DuckDB is an in-process SQL OLAP Database Management System
Stars: ✭ 4,014 (+1449.81%)
Mutual labels:  sql
H2database
H2 is an embeddable RDBMS written in Java.
Stars: ✭ 3,078 (+1088.42%)
Mutual labels:  sql
Bedquilt Core
A JSON document store on PostgreSQL
Stars: ✭ 256 (-1.16%)
Mutual labels:  sql
Musoq
Use SQL on various data sources
Stars: ✭ 252 (-2.7%)
Mutual labels:  sql

BNF Grammars for SQL-92, SQL-99 and SQL-2003

This repository contains the BNF (Backus-Naur Form) grammars for three versions of standard SQL — SQL-92, SQL-99 and SQL-2003.

You should be able to find a version of this site with 'active HTML' at:

It may not be the most recent release, but the technical content is mostly valid. The download link is not functional — you can obtain the material for the latest release from https://github.com/ronsavage/SQL/releases/latest.

** !! Syntax Rules

Regarding the text '!! See the Syntax Rules': That is literally what it says in the PDF containing the standard.

For an extract of the standard about these rules see the file 'Syntax.rules.txt'.

This project is still in transition to GitHub. The links in this README.md file lead to the pages in the GitHub source tree. Most of them will display the HTML source — not a rendered HTML image. There probably are ways around that; we're learning GitHub as we go.

For a long time, this material was hosted by Ron Savage at http://savage.net.au/SQL — many thanks, Ron! — but that site now points to here.

At the moment, the suggested method of operation is:

  • Clone this repository to your machine — e.g. into the /home/somebody/SQL directory
  • Point your browser to file:///home/somebody/SQL/index.html.

This should give you full HTML access to the material. Alternatively, you can download the latest release of this material (instead of cloning the repo), and then extract that into a directory and point your browser to the index.html file in that directory.

Yes: it is sub-optimal. Yes: we'll fix it when we know how to fix it.

SQL-92

The file sql-92.bnf.html is a heavily hyperlinked HTML version of the BNF grammar for SQL-92 (ISO/IEC 9075:1992 - Database Language - SQL).

The plain text file sql-92.bnf, from which it was automatically converted, is more useful (read legible) for reading without a browser.

SQL-99

The file sql-99.bnf.html is a heavily hyperlinked HTML version of the BNF grammar for SQL-99 (ISO/IEC 9075-2:1999 - Database Languages - SQL - Part 2: Foundation (SQL/Foundation)).

The plain text file sql-99.bnf, from which it was automatically converted, is more useful (read legible) for reading without a browser.

SQL-2003

The file sql-2003-2.bnf.html is a heavily hyperlinked HTML version of the BNF grammar for SQL-2003 (ISO/IEC 9075-2:2003 - Database Languages - SQL - Part 2: Foundation (SQL/Foundation)).

The plain text file sql-2003-2.bnf, from which it was automatically converted, is more useful (read legible) for reading without a browser.

There is a separate file sql-2003-1.bnf.html for the information from ISO/IEC 9075-1:2003 - Database Languages - SQL - Part 1: Framework (SQL/Framework).

It was automatically converted from the plain text file sql-2003-1.bnf, which is more useful (read legible) for reading without a browser.

Also available:

SQL 2003 Core Features SQL 2003 Non-Core Features

Informix OUTER Join Syntax

The file outer-joins.html is an explanation of the non-standard Informix OUTER join syntax and semantics.

Conversion tools

The plain text was converted to HTML by the Perl script bnf2html which you may use if you wish. The bnf2html script also uses the C program WEBCODE version 1.09 which you can download as a gzipped tar file.

See also bnf2yacc, an experimental script to convert BNF into an outline Yacc grammar. The generated grammar typically includes some unacceptable tokens, such as %token 0, that should be handled by the lexical analyzer rather than the grammar. The SQL standard includes such rules as grammar rules; consequently, you won't get a clean Yacc grammar from the SQL BNF files.

(The Perl scripts should normally be renamed after downloading.)

Download

You should be able to get the downloadable version of the latest release of this repository from the releases area:

SQL 2016 Released

ISO/IEC JTC 1/SC 32 Publishes Updated SQL Database Language Standard — SQL 2016.


Please send feedback to Jonathan Leffler ( [email protected] ) _and_ Ron Savage ( [email protected] ).

Last modified: 13th March 2017

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].