Anda di halaman 1dari 3

SQL Tutorial

Version 2.1
This document is a general tutorial on the database sublanguage - SQL. It is not product
oriented but rather uses standard SQL (SQL92). The tutorial doesn't cover all of SQL92;
it concentrates on a subset of the standard that is both usable and commonly supported.
Note: This tutorial describes the subset of SQL92 supported by FirstSQL/J 100% Java
ORDBMS. Feel free to download and use the database for learning and educational
purposes. The subset is primarily SQL92 Intermediate Level but has some Entry Level
features. The tutorial only describes pure SQL92 capabilities. No proprietary extensions
are included.

Introduction
SQL (Structured Query Language) is a database sublanguage for querying and modifying
relational databases. It was developed by IBM Research in the mid 70's and standardized
by ANSI in 1986.

The Relational Model defines two root languages for accessing a relational database --
Relational Algebra and Relational Calculus. Relational Algebra is a low-level, operator-
oriented language. Creating a query in Relational Algebra involves combining relational
operators using algebraic notation. Relational Calculus is a high-level, declarative
language. Creating a query in Relational Calculus involves describing what results are
desired.

SQL is a version of Relational Calculus. The basic structure in SQL is the statement.
Semicolons separate multiple SQL statements.

There are 3 basic categories of SQL Statements:

• SQL-Data Statements -- query and modify tables and columns


o SELECT Statement -- query tables and views in the database
o INSERT Statement -- add rows to tables
o UPDATE Statement -- modify columns in table rows
o DELETE Statement -- remove rows from tables
• SQL-Transaction Statements -- control transactions
o COMMIT Statement -- commit the current transaction
o ROLLBACK Statement -- roll back the current transaction
• SQL-Schema Statements -- maintain schema (catalog)
o CREATE TABLE Statement -- create tables
o CREATE VIEW Statement -- create views
o DROP TABLE Statement -- drop tables
o DROP VIEW Statement -- drop views
o GRANT Statement -- grant privileges on tables and views to other users
o REVOKE Statement -- revoke privileges on tables and views from other
users

Language Structure

SQL is a keyword based language. Each statement begins with a unique keyword. SQL
statements consist of clauses which begin with a keyword. SQL syntax is not case
sensitive.

The other lexical elements of SQL statements are:

• names -- names of database elements: tables, columns, views, users, schemas;


names must begin with a letter (a - z) and may contain digits (0 - 9) and
underscore (_)
• literals -- quoted strings, numeric values, date time values
• Delimiters -- + - , ( ) = < > <= >= <> . * / || ? ;

Basic database objects (tables, views) can optionally be qualified by schema name. A dot
-- ".", separates qualifiers:
Schema-name. table-name
Column names can be qualified by table name with optional schema qualification.
Note: Names can be case sensitive and contain spaces and other delimiters and can use
keywords, by surrounding them with double quotation marks ("). For example,
"1 Name w/spaces"
"SELECT"
Quoted names must match exactly on case.

Example Tables

In the subsequent text, the following 3 example tables are used:


p Table (parts) s Table (suppliers) sp Table (suppliers & parts)
pno descr color sno name city sno pno qty
P1 Widget Blue S1 Pierre Paris S1 P1 NULL
P2 Widget Red S2 John London S2 P1 200
P3 Dongle Green S3 Mario Rome S3 P1 1000
S3 P2 200

Anda mungkin juga menyukai