# SQL language reference

Derby implements a subset of the SQL standard.

This section provides an overview of the current SQL language by describing the statements, built-in functions, data types, expressions, and special characters it contains.

- Capitalization and special characters
  Using the classes and methods of JDBC, you submit SQL statements to Derby as strings. The character set permitted for strings containing SQL statements is Unicode.
- SQL identifiers
  An identifier is the representation within the language of items created by the user, as opposed to language keywords or commands.
- Statements
- SQL clauses
- SQL expressions
  Syntax for many statements and expressions includes the term expression, or a term for a specific kind of expression such as tableSubquery. Expressions are allowed in these specified places within statements.
- JOIN operations
  The JOIN operations perform joins between two tables.
- SQL queries
- Built-in functions
  A built-in function is an expression in which an SQL keyword or special operator executes some operation.
- Built-in system functions
- Built-in system procedures
- SYSCS_DIAG diagnostic tables and functions
  Derby provides a set of system table expressions which you can use to obtain diagnostic information about the state of the database and about the database sessions.
- Data types