Top Banner
SQL
65

SQL

Oct 31, 2014

Download

Education

princy75

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SQL

SQL

Page 2: SQL

SQL - History • Structured Query Language• SEQUEL from IBM San Jose• ANSI 1992 Standard is the version

used by most DBMS today (SQL92)• Basic language is standardized

across relational DBMSs. Each system may have proprietary extensions to standard.

Page 3: SQL

SQL Uses

• Database Definition and Querying– Can be used as an interactive query

language– Can be imbedded in programs

• Relational Calculus combines Select, Project and Join operations in a single command: SELECT

Page 4: SQL
Page 5: SQL
Page 6: SQL
Page 7: SQL
Page 8: SQL
Page 9: SQL
Page 10: SQL
Page 11: SQL
Page 12: SQL
Page 13: SQL
Page 14: SQL
Page 15: SQL
Page 16: SQL
Page 17: SQL
Page 18: SQL
Page 19: SQL
Page 20: SQL
Page 21: SQL
Page 22: SQL
Page 23: SQL
Page 24: SQL
Page 25: SQL

SQL Advanced

Page 26: SQL
Page 27: SQL
Page 28: SQL

Aggregate Functions• Count• Avg• SUM• MAX• MIN• Others may be available in

different systems

Page 29: SQL
Page 30: SQL

Branch Name City Director Asset

John Singapore Singapore_2 1000000

Agus Arianto Jakarta Mona 4000000

George Jakarta Jakarta_2 1000000

Ng Wee Hiong Singapore Clementi 3000000

2

Page 31: SQL

Name City Director Asset

John Singapore Singapore_2

1000000

Agus Arianto Jakarta Mona 4000000

George Jakarta Jakarta_2 1000000

Ng Wee Hiong Singapore Clementi 3000000

4

Page 32: SQL

Name City Director Asset

John Singapore

Singapore_2 1000000

Agus Arianto Jakarta Mona 4000000

George Jakarta Jakarta_2 1000000

Ng Wee Hiong

Singapore

Clementi 3000000

6750000

Page 33: SQL
Page 34: SQL
Page 35: SQL
Page 36: SQL
Page 37: SQL
Page 38: SQL
Page 39: SQL

Name City Director Asset

John Singapore Singapore_2 1000000

Agus Arianto Jakarta Mona 4000000

George Jakarta Jakarta_2 1000000

Ng Wee Hiong Singapore Clementi 3000000

Page 40: SQL
Page 41: SQL
Page 42: SQL

Name City Director Asset

John Singapore Singapore_2 1000000

Agus Arianto Jakarta Mona 4000000

George Jakarta Jakarta_2 1000000

Ng Wee Hiong Singapore Clementi 3000000

Page 43: SQL

Views

Name City Director Asset

John Singapore

Singapore_2

1000000

Agus Arianto

Jakarta Mona 4000000

George Jakarta Jakarta_2 1000000

Ng Wee Hiong

Singapore

Clementi 3000000

Name City Director Asset

John Singapore Singapore_2

1000000

Ng Wee Hiong

Singapore Clementi 3000000

Page 44: SQL
Page 45: SQL
Page 46: SQL

SQL

Commands

Syntax Review

Page 47: SQL

SELECT• Syntax:

– SELECT [DISTINCT] attr1, attr2,…, attr3 FROM rel1 r1, rel2 r2,… rel3 r3 WHERE condition1 {AND | OR} condition2 ORDER BY attr1 [DESC], attr3 [DESC]

Page 48: SQL

SELECT• Syntax:

– SELECT a.author, b.title FROM authors a, bibfile b, au_bib c WHERE a.AU_ID = c.AU_ID and c.accno = b.accno ORDER BY a.author ;

• Examples in Access...

Page 49: SQL

SELECT Conditions• = equal to a particular value• >= greater than or equal to a particular value• > greater than a particular value• <= less than or equal to a particular value• <> not equal to a particular value• LIKE “*term*” (may be other wild cards in

other systems)• IN (“opt1”, “opt2”,…,”optn”)• BETWEEN val1 AND val2• IS NULL

Page 50: SQL

Relational Algebra Selection using SELECT

• Syntax:– SELECT * WHERE condition1 {AND |

OR} condition2;

Page 51: SQL

Relational Algebra Projection using SELECT

• Syntax:– SELECT [DISTINCT] attr1, attr2,…,

attr3 FROM rel1 r1, rel2 r2,… rel3 r3;

Page 52: SQL

Relational Algebra Join using SELECT

• Syntax:– SELECT * FROM rel1 r1, rel2 r2

WHERE r1.linkattr = r2.linkattr ;

Page 53: SQL

Subqueries• SELECT SITES.[Site Name], SITES.

[Destination no] FROM SITES WHERE sites.[Destination no] IN

(SELECT [Destination no] from DEST where [avg temp (f)] >= 78);

• Can be used as a form of JOIN.

Page 54: SQL

Using Aggregate functions• SELECT attr1, Sum(attr2) AS name

FROM tab1, tab2 ... GROUP BY attr1, attr3 HAVING

condition;

Page 55: SQL

CREATE Table• CREATE TABLE table-name (attr1

attr-type PRIMARYKEY, attr2 attr-type,…,attrN attr-type);

• Adds a new table with the specified attributes (and types) to the database.

Page 56: SQL

Access Data Types

• Numeric (1, 2, 4, 8 bytes, fixed or float)• Text (255 max)• Memo (64000 max)• Date/Time (8 bytes)• Currency (8 bytes, 15 digits + 4 digits

decimal)• Autonumber (4 bytes)• Yes/No (1 bit)• OLE (limited only by disk space)• Hyperlinks (up to 64000 chars)

Page 57: SQL

Access Numeric types• Byte

– Stores numbers from 0 to 255 (no fractions). 1 byte

• Integer– Stores numbers from –32,768 to 32,767 (no fractions) 2 bytes

• Long Integer (Default) – Stores numbers from –2,147,483,648 to 2,147,483,647 (no fractions). 4

bytes

• Single– Stores numbers from -3.402823E38 to –1.401298E–45 for negative values

and from 1.401298E–45 to 3.402823E38 for positive values.4 bytes

• Double– Stores numbers from –1.79769313486231E308 to –4.94065645841247E–

324 for negative values and from 1.79769313486231E308 to 4.94065645841247E–324 for positive values. 15 8 bytes

• Replication ID– Globally unique identifier (GUID) N/A 16 bytes

Page 58: SQL

Oracle Data Types• CHAR (size) -- max 2000• VARCHAR2(size) -- up to 4000• DATE• DECIMAL, FLOAT, INTEGER, INTEGER(s),

SMALLINT, NUMBER, NUMBER(size,d)– All numbers internally in same format…

• LONG, LONG RAW, LONG VARCHAR– up to 2 Gb -- only one per table

• BLOB, CLOB, NCLOB -- up to 4 Gb• BFILE -- file pointer to binary OS file

Page 59: SQL

Creating a new table from existing tables

• Syntax:– SELECT [DISTINCT] attr1, attr2,…,

attr3 INTO newtablename FROM rel1 r1, rel2 r2,… rel3 r3 WHERE condition1 {AND | OR} condition2 ORDER BY attr1 [DESC], attr3 [DESC]

Page 60: SQL

ALTER Table• ALTER TABLE table-name ADD

COLUMN attr1 attr-type;• … DROP COLUMN attr1;• Adds a new column to an existing

database table.

Page 61: SQL

INSERT• INSERT INTO table-name (attr1,

attr4, attr5,…, attrK) VALUES (“val1”, val4, val5,…, “valK”);

• Adds a new row(s) to a table.• INSERT INTO table-name (attr1,

attr4, attr5,…, attrK) VALUES SELECT ...

Page 62: SQL

DELETE• DELETE FROM table-name WHERE

<where clause>;• Removes rows from a table.

Page 63: SQL

UPDATE• UPDATE tablename SET

attr1=newval, attr2 = newval2 WHERE <where clause>;

• changes values in existing rows in a table (those that match the WHERE clause).

Page 64: SQL

DROP Table• DROP TABLE tablename;• Removes a table from the

database.

Page 65: SQL

Name City Director Asset

John Singapore Singapore_2

1000000

Agus Arianto Jakarta Mona 4000000

George Jakarta Jakarta_2 1000000

Ng Wee Hiong

Singapore Clementi 3000000