Presentation on theme: "Structured Query Language (SQL) DB Chapter 3 J.G. Zheng June 27 th 2005."— Presentation transcript:
Structured Query Language (SQL) DB Chapter 3 J.G. Zheng June 27 th 2005
2 Overview SQL Language (SQL 92) Create Table Select All examples can be used with the AmazonBook database This database can be downloaded from the Course Material section in WebCT
3 Introduction/Review What is SQL Review: Database and DBMS (chapter 1) SQL is a standard language accepted by relational DBMS to perform database operations Some facts about SQL SQL 92 is the most commonly supported version English-like (not programming) Case insensitive Venders have different implementations
4 Concepts Review Relational model concepts review Relation : Table Row: Record Column: Field (Attribute)
6 Column Definition Column Definition Format ColumnName DataType Example BookTitle Text(200) NumberofPages Integer ListPrice Currency
7 Common Data Types Numeric INTEGER, SMALLINT DECIMAL(i,j), NUMBER(i,j) Character/String CHAR(n), VARCHAR(n) Date DATE, DATETIME See textbook page for data types implemented in Access
8 Create Table Example CREATE TABLE Books ( Title VARCHAR(100), PublisherVARCHAR(50), ISBNCHAR(13), Price DECIMAL(6,2), YearINTEGER, PRIMARY KEY (ISBN) )
9 SELECT Statement SELECT statement retrieves data from database (query) The result is usually another table We will learn Selection and projection Sorting Calculation
10 SELECT Statement Syntax SELECT Column(s) or other expressions FROM Table(s) [WHERE …] [ORDER BY ColumnName]
11 Simple SELECT Statement Syntax SELECT * (or a list of columns ) FROM TableName Wild card: * Example SELECT * FROM Books SELECT BookTitle, ListPrice FROM Books
12 Use WHERE Clause Use WHERE clause to specify selection criteria Example SELECT * FROM Books WHERE ListPrice = SELECT BookTitle, ListPrice FROM Books WHERE ListPrice < 20 Comparison Operators =, >, =,
13 More Comparison Operators IN (value list) SELECT * FROM Books WHERE ListPrice IN (19.99, 29.99, 39.99) BETWEEN min AND max SELECT * FROM Books WHERE ListPrice BETWEEN 9.99 AND 19.99
14 String Pattern Match Fuzzy query using LIKE _ (underscore): single character wildcard ? in Access % (percentage): multiple character wildcard * in Access Example SELECT * FROM Books WHERE BookTitle LIKE '*information systems*'
15 Compound Conditions Use logical operators to connect multiple conditions AND: an intersection of the data sets OR: a union of the data sets Examples SELECT * FROM Books WHERE ListPrice = 9.99 SELECT * FROM Books WHERE PubDate=#10/1/2003# OR PubDate=#10/1/2004# SELECT * from Books WHERE Publisher = 'Que' AND Binding = 'Paperback'
16 Sorting Syntax ORDER BY Column(s) [ASC/DESC] Examples SELECT * FROM Books ORDER BY PubDate SELECT * FROM Books ORDER BY Publisher DESC, PubDate
17 Calculation Calculating columns Calculated columns are not designed directly into the table Using +, -, *, / with columns and numbers Example SELECT BookTitle, ListPrice, ListPrice * 0.15 AS Discount FROM Books WHERE ListPrice * 0.15 > 20
18 Built-in Functions Using these functions to do statistics MIN MAX COUNT AVG SUM Example SELECT COUNT(*) FROM Books SELECT AVG(ListPrice) FROM Books WHERE Publisher = 'Prentice Hall'
19 [Grouping] GROUP BY: doing math with groups SELECT COUNT(*) FROM Books WHERE Publisher = 'Prentice Hall'; SELECT COUNT(*) FROM Books WHERE Publisher = 'The MIT Press'; … Or: SELECT Publisher, COUNT(*) FROM Books GROUP BY Publisher
20 A Complete Query SELECT ISBN, BookTitle, ListPrice, Publisher FROM Books WHERE BookTitle like '*Information Systems*' AND PubDate > #1/1/2002# AND ListPrice < 100 ORDER BY ListPrice
21 Exercise Using the AmazonBook database, use SQL or QBE to answer the following questions. 1. Which book is the most expensive? 2. How many books are under $100 of list price? 3. I am looking for a database book, no more than 50 dollars, and published after 1/1/2003; do you have any recommendations? I need the book title and its price. 4. What is the price per page for the books published by Que? List the book title, price, number of pages and price for page, and sort by the price per page, descending
22 Updating Tables INSERT INTO To add a new record UPDATE To change data DELETE FROM To delete records Read this part yourself
23 Summary SQL is a standard Relational DBMS language SQL statements CREATE TABLE SELECT WHERE clause DELETE FROM INSERT INTO UPDATE