CS457 - DATA MODELING AND
IMPLEMENTATION TECHNIQUES
Week 2 Lecture ( Chapter 1 2)
Laura Lo
AGENDA
Using
SQL*Plus
Examples of Creating Tables
Examples to retrieve info from database
tables
Null Values & Comparing Values in SQL
Using SQL Operators
CREATE SAMPLE DATABASE
In
this course you need some information held in your
schema includes:
Customer details
Types of products sold
Product details
A history of the products purchased by the customers
Employees of the store
Salary grades
CREATE SAMPLE DATABASE
The
following tables are used to hold the information:
customers holds the customer details.
product_types holds the types of products sold by the
store.
products holds the product details.
purchases holds which products were purchased by
which customers.
employees holds the employee details.
salary_grades holds the salary grade details.
THE CUSTOMERS TABLE
The
customers table holds the details of the
customers. The following items are held in this
table:
First name
Last name
Date of birth (dob)
Phone number
THE CUSTOMERS TABLE
Each
of these items requires a column in the
customers table. The customers table is created
using the following CREATE TABLE statement:
DESCRIBE
You
can see columns information using the
SQL*Plus DESCRIBE command. The following
example DESCRIBEs the customers table:
ADDING A ROW TO A TABLE
You
use the INSERT statement to add new rows
to a table. You can specify the following
information in an INSERT statement:
The table into which the row is to be inserted
A list of columns for which you want to specify
column values
A list of values to store in the specified columns
ADDING A ROW TO A TABLE
The
following INSERT statement adds a row to the
customers table. The order of values in the VALUES list
matches the order in which the columns are specified in
the column list:
SQL> INSERT INTO customers (
customer_id, first_name, last_name, dob, phone)
VALUES ( 6, 'Fred', 'Brown', '01-JAN-1970', '800-5551215' );
1 row created.
ADDING A ROW TO A TABLE
SQL*Plus
responds that one row has been created after
the INSERT statement is executed. You can verify this
by running the following SELECT statement:
MODIFYING AN EXISTING ROW IN A
TABLE
You
use the UPDATE statement to change rows in a
table. Normally, when you use the UPDATE statement,
you specify the following information:
The table containing the rows that are to be changed
A list of column names, along with their new values,
specified using the SET clause
A WHERE clause that specifies the rows that are to be
changed
MODIFYING AN EXISTING ROW IN A
TABLE
You
can change one or more rows using the same
UPDATE statement. If more than one row is specified,
the same change will be made for all the rows. The
following example updates customer #2s last_name to
Orange:
UPDATE customers
SET last_name = 'Orange'
WHERE customer_id = 2;
1 row updated.
MODIFYING AN EXISTING ROW IN A
TABLE
The
following query confirms the update worked:
REMOVING A ROW FROM A TABLE
You
use the DELETE statement to remove rows
from a table. You typically use a WHERE clause to
limit the rows you wish to delete; if you dont, all
the rows will be deleted from the table.
The following DELETE statement removes
customer #2:
DELETE FROM customers
WHERE customer_id = 2;
1 row deleted.
REMOVING A ROW FROM A TABLE
To
undo the changes youve made to the rows, you
use ROLLBACK:
ROLLBACK;
Rollback complete.
Go
ahead and run the ROLLBACK to undo any
changes youve made so far. That way, your results
will match those shown in subsequent chapters.
NOTE
You can make changes to rows permanent using
COMMIT.
RETRIEVING INFORMATION
FROM DATABASE TABLES
Retrieve
information from one or more
database tables using SELECT statements
Use arithmetic expressions to perform
calculations
Limit the retrieval of rows to just those you
are interested in using a WHERE clause
Sort the rows retrieved from a table
PERFORMING SINGLE TABLE SELECT
STATEMENTS
You
use the SELECT statement to
retrieve information from database tables.
SPECIFYING ROWS TO RETRIEVE USING
THE WHERE CLAUSE
You
use the WHERE clause in a query to
specify the rows you want to retrieve.
SELECT list of items
FROM list of tables
WHERE list of conditions;
ROW NUMBERS
ROWNUM
result set.
returns the row number in a
USING COLUMNS IN ARITHMETIC
USING COLUMNS IN ARITHMETIC
USING COLUMN ALIASES
When
you select a column from a table, Oracle uses the
uppercase version of the column name as the header for
the column in the output.
When you use an expression, Oracle strips out the
spaces and uses the expression as the header.
USING COLUMN ALIASES
If
you want to use spaces and preserve the case of your
alias text, you must place the text within double
quotation marks (""):
COMBINING COLUMN OUTPUT USING
CONCATENATION
You
can combine the column values retrieved by a
query using concatenation, which allows you to create
more friendly and meaningful output.
NULL VALUES
A
null value is not a blank stringit is a distinct value. A
null value means the value for the column is unknown.
NULL VALUES
You
can check for null values using IS NULL in a query.
In the following example, customer #4 is retrieved because
its dob value is null:
NULL VALUES
Oracle
NVL() built-in function returns another value in
place of a null.
NVL() accepts two parameters: a column and the value to
be returned if the first parameter is null.
DISPLAYING DISTINCT ROWS
Suppose
you wanted to get the list of customers who
purchased products from our imaginary store. You can
get that list using the following query, which retrieves
the customer_id column from the purchases table:
COMPARING VALUES
The
following table lists the operators you can use
to compare values:
COMPARING VALUES
COMPARING VALUES
You
use the ANY operator in a WHERE clause to
compare a value with any of the values in a list. You must
place an =, <>, <, >, <=, or >= operator before ANY.
COMPARING VALUES
You
use the ALL operator in a WHERE clause to
compare a value with any of the values in a list. You must
place an =, <>, <, >, <=, or >= operator before ALL.
USING THE SQL OPERATORS
The
SQL operators allow you to limit rows based on
pattern matching of strings, lists of values, ranges of
values, and null values. The SQL operators are listed in
the following table:
USING THE SQL OPERATORS
You
can also use NOT to reverse the meaning of an
operator:
NOT LIKE
NOT IN
NOT BETWEEN
IS NOT NULL
IS
IS
NOT NAN
NOT INFINITE
USING THE LIKE OPERATOR
You
use the LIKE operator in a WHERE clause to search a
string for a pattern. You specify patterns using a combination
of normal characters and the following two wildcard
characters: (case sensitive)
Underscore (_) Matches one character in a specified position
Percent (%) Matches any number of characters beginning at
the specified position
USING THE LIKE OPERATOR
Write
one SQL query to find employees with job title
started from Sales.
USING THE LIKE OPERATOR
The
character after the ESCAPE tells the database how to
differentiate between characters to search for and wildcards,
and in the example the backslash character (\) is used.
USING THE IN OPERATOR
You
may use the IN operator in a WHERE clause to
retrieve the rows whose column value is in a list.
USING THE IN OPERATOR
NOT
IN retrieves the rows not retrieved by IN:
USING THE IN OPERATOR
NOT
IN returns false if a value in the list is null.
This is illustrated by the following query, which doesnt
return any rows because null is included in the list:
USING THE IN OPERATOR
USING THE BETWEEN OPERATOR
You
may use the BETWEEN operator in a WHERE
clause to retrieve the rows whose column value is in a
specified range.
The range is inclusive, which means the values at both
ends of the range are included.
USING THE LOGICAL OPERATORS
The
logical operators allow you to limit rows based on
logical conditions. The logical operators are listed in the
following table:
USING THE LOGICAL OPERATORS
The
following query illustrates the use of the AND
operator to retrieve the rows from the customers table
where both of the following conditions are true:
The
The
dob column is greater than January 1, 1970.
customer_id column is greater than 3.
USING THE LOGICAL OPERATORS
The
next query illustrates the use of the OR operator to
retrieve rows from the customers table where either of the
following conditions is true:
The
The
dob column is greater than January 1, 1970.
customer_id column is greater than 3.
OPERATOR PRECEDENCE
If
you combine AND and OR in the same expression, the
AND operator takes precedence over the OR operator.
The following example retrieves the rows from the
customers table where either of the following two conditions
is true:
The
dob column is greater than January 1, 1970.
The customer_id column is less than 2 and the phone column
has 1211 at the end.
SORTING ROWS USING THE ORDER BY
CLAUSE
You
use the ORDER BY clause to sort the rows
retrieved by a query.
SORTING ROWS USING THE ORDER BY
CLAUSE
By
default, ORDER BY sorts the columns in ascending
order (lower values appear first). You can use the DESC
keyword to sort the columns in descending order (higher
values appear first).
SORTING ROWS USING THE ORDER BY
CLAUSE
You
can also use a column position number in the
ORDER BY clause to indicate which column to sort: Use
1 to sort by the first column selected, 2 to sort by the
second column selected, and so on.
Homework Assignment #2
Please refer to homework assignment #2 from
portal
Create Sample tables