SQL is a standard language for querying, manipulating, and defining relational databases. The document outlines the history and evolution of SQL, its uses for querying and manipulating data, and provides examples of common SQL commands like SELECT, INSERT, UPDATE, DELETE, and more. Key SQL concepts covered include joins, aggregation functions, subqueries, and data definition commands.
2. 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.
3. 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
30. 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
31. 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
32. 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
33.
34.
35.
36.
37.
38.
39. 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
40.
41.
42. 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
43. 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
47. 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]
48. 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...
49. 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
52. Relational Algebra Join using SELECT
• Syntax:
– SELECT * FROM rel1 r1, rel2 r2 WHERE
r1.linkattr = r2.linkattr ;
53. 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.
54. Using Aggregate functions
• SELECT attr1, Sum(attr2) AS name
FROM tab1, tab2 ...
GROUP BY attr1, attr3 HAVING condition;
55. 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.
56. 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)
57. 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
58. 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
59. 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]
60. ALTER Table
• ALTER TABLE table-name ADD
COLUMN attr1 attr-type;
• … DROP COLUMN attr1;
• Adds a new column to an existing
database table.
61. 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 ...
62. DELETE
• DELETE FROM table-name WHERE
<where clause>;
• Removes rows from a table.
63. 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).
64. DROP Table
• DROP TABLE tablename;
• Removes a table from the database.
65. 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