Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
96 views

SQL Cheatsheet: Icbc Road Test

This document provides a SQL cheat sheet with definitions and syntax for SQL statements, clauses, and other elements. It defines syntax for items like SELECT statements, DML statements, joins, functions, variables and more using syntax notation. It also provides examples of creating tables, users, and other database objects in SQL and PL/SQL.

Uploaded by

sandanuwan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views

SQL Cheatsheet: Icbc Road Test

This document provides a SQL cheat sheet with definitions and syntax for SQL statements, clauses, and other elements. It defines syntax for items like SELECT statements, DML statements, joins, functions, variables and more using syntax notation. It also provides examples of creating tables, users, and other database objects in SQL and PL/SQL.

Uploaded by

sandanuwan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

SQL Cheatsheet

KEY
---
Curly braces group alternatives together,
and alternatives are separated by pipes: {this | that | t'other}
Clauses in brackets are optional: You [and john] can come.
An asterisk indicates 0 or more instances: I like to eat[ and eat]*.
A plus-sign indicates 1 or more instances: Run fast,[ go]+!
A plus-sign also indicates addition: select (1 + 3) from dual;

Elements are defined in terms of other elements.


<number> : [0-9]+ means that a number is composed of one or more digits.
<datatype>: {integer | char(<number>) | varchar2(<number>) | date}
means that a <datatype> element is one of the four strings shown.
<column-set>: <column> = <expression>
means that a <column-set> element is composed of a <column>, followed by
an equals sign and an <expression>.

Readability of PL/SQL is much improved by highlighting certain keywords;


this is why some word are in all caps. icbc road test ---

INSERTS and UPDATES


-------------------
<insert>: insert into <tablename> [<columns>] {values <values> | <select>}
<select>: select [distinct] <columns> from <tables> [<where>] [group-by]
<select-union>: <select> union <select> [<order-by>]
<select-order>: <select> <order-by>

<update> : update <tablename> set <column-set> [, <column-set>] [<where>]


<column-set>: <column> = <expression>
<update-from-query>: update <tablename> set <columns> = <select> [<where>]

FUNDAMENTALS
------------
<name> : [a-zA-Z][a-zA-Z0-9_]* - that is, a string of alphanumeric chars
and underscores starting with an alpha
char.
<number> : [0-9]+
<datatype>: {integer | char(<number>) | varchar2(<number>) | date}

<ora-alias>: a temporary nickname for a table or column, for the purposes


of condensing a query.

LITERALS
--------
<value> : {<number> | <string> | <number-expr> | <string-expr>}
<values> : ( <value> [, <value>]* )
<number-expr>: {<number> | <column-name>} + [<number> | <column-name>]*
<string-expr>: {<string> | <column-name>} || [<string> | <column-name>]*

NAMES and DEFINITIONS


---------------------
<column-name>: name of a column in a table in the current scope
<columns> : ( <column-name> <ora-alias> [, <column-name> <ora-alias>]* )
<new-column> : <name> <column-def>
<new-columns>: <new-column> [, <new-column>]*
<column-def> : <datatype> [default <value>] [<constraint>]*

<table-name> : name of a table in the current scope


<tables> : <table-name> <ora-alias> [, <table-name> <ora-alias>]*

<constraint> : {not null | primary key | references <table-name>}

CREATION
--------
<create-table-new> : create table <name> ( <new-columns> )
<create-table-from>: create table <name> as <select>

<create-tablespace>: create tablespace <name> datafile '<filespec>'


size 50m autoextend on default storage (pctincrease 1);
<filespec> : /opt/ora8/m02/oradata/ora8/<name>01.dbf

<create-user> : create user <name> identified by <db-password>


default tablespace <name> temporary tablespace temp quota
unlimited on <name>;
<grant-user> : grant connect, resource, ctxapp to <name>;
grant javasyspriv to <name>;

ADDING, DROPPING, AND DELETION


------------------------------
<add-column> : alter table <table-name> add ( <new-columns> )
<drop-column>: alter table <table-name> drop column <column-name>

<drop> : drop {table|view|sequence|function} <name>


<delete>: delete from <table-name> [<where>]

PL-SQL BASICS
-------------
<var-name> : A variable passed into a function, or definied in <declarations>
<argument> : <name> IN <datatype>
<arguments>: <argument> [, <argument>]*
<args> : <value> [, <value>]*

PL-SQL
------
<create-function>: create or replace function <name> ( <arguments> )
return <datatype> AS [<declarations>] BEGIN <function-body> END;

<declarations> : <name> <datatype>[:= <value>];


<function-body>: [{<statement> | <loop>};]*
return {<var-name> | <value>};

<statement>: { <var-name> := {<expression> | <function>} |


open cursor <cursor-name> |
fetch <cursor-name> into <var-name>} |

<loop> : LOOP [{<statement> | <loop>};]*


exit when <condition>
END LOOP;

<ora-call-function>: select <name>(<args>) from dual;

You might also like