Presentation is loading. Please wait.

Presentation is loading. Please wait.

Yong Choi School of Business CSU, Bakersfield

Similar presentations


Presentation on theme: "Yong Choi School of Business CSU, Bakersfield"— Presentation transcript:

1 Yong Choi School of Business CSU, Bakersfield
SQL – Part II Yong Choi School of Business CSU, Bakersfield

2 SQL Examples – Aggregate Functions
Example 18: Save as example 18 How many parts (count number of records) are in item class HW? Use of “count” command Count all records: count(*) Count all of HW Class Review the Part table first

3 SQL Query to Count Records
Example 18 SQL Query to Count Records

4 Example 18 SELECT count(*) FROM Part WHERE Class="HW";

5 SQL Examples – Aggregate Functions
Example 19: Save as example 19 Find the number of customers and the total of their balances. Calculate total: sum(field name)

6 SQL Query to Count Records and Calculate a Total
Example 19 SQL Query to Count Records and Calculate a Total

7 Example 19 SELECT count(*), Sum(Balance) FROM Customer;

8 SQL Examples – Aggregate Functions
Example 20: Save as example 20 Find the total number of customers and the total of their balances. Change the column names for the number of customers and the total of their balances to CustomerCount and BalancesTotal. Change column name using “AS” command

9 SQL Query to Perform Calculations and Rename Fields
Example 20 SQL Query to Perform Calculations and Rename Fields

10 Example 20 SELECT count(*) AS CustomerCount,
Sum(Balance) AS BalanceTotal FROM Customer;

11 SQL Examples – Nested Query
A query inside another query A inside query (sub-query) is evaluated first. It is common to enclose sub-query in parentheses for readability!! Example 21: Save as example 21 List the order number for each order from the order line table for a part located in warehouse 3. Use “IN” command for combining two queries Let ‘s see the answer first and then analyze

12 SQL Query with Subquery
Example 21 SQL Query with Subquery

13 Example 21 SELECT OrderNum FROM OrderLine WHERE PartNum IN
(SELECT PartNum FROM Part WHERE Warehouse='3');

14 SQL Examples - Grouping
Use GROUP BY clause ONLY grouping, NOT sorting (usually associated with ORDER BY clause) Example 22: Save as example 22 For each sales rep, list the rep number, the number of customers assigned to each rep, and the average balance of the rep’s customers. Rename the count of the number of customers and the average of the balances to NumOfCustomers and AverageBalance

15 SQL Query to Group Records
Example 22 SQL Query to Group Records

16 Example 22 SELECT RepNum, Count(*) AS NumOfCustomer, Avg(Balance) AS AvgBalance FROM Customer GROUP BY RepNum

17 SQL Examples – Grouping (con’t)
Example 23: Save as example 23 For each sales rep with fewer than four customers, list the rep number, the number of customers assigned to the rep, and the average balance of the rep’s customers. Rename the count of the number of customers and the average of the balances to NumOfCustomers and AverageBalance. Use of “Having” command.

18 SQL Query to Restrict Groups
Example 23 SQL Query to Restrict Groups

19 Example 23 SELECT RepNum, count(*) AS NumCustomer,
Avg(Balance) AS AverageBalance FROM Customer GROUP BY RepNum HAVING Count(*)<4;

20 SQL Examples – Grouping (con’t)
Use of Where and Having clauses together “Where” command must be stated first Example 23-1: Save as example 23-1 Exactly same as example 23. Except, only groups with fewer than three records and customers with credit limit of less than $10,000 must be included.

21 Example 23-1 SQL Query with ‘WHERE’ and ‘HAVING’ Clauses

22 Example 23-1 SELECT RepNum, count(*) AS NumCustomer, Avg(Balance) AS AverageBalance FROM Customer WHERE CreditLimit<10000 GROUP BY RepNum HAVING Count(*)<3;

23 Pine Valley Furniture Company data model
(from Chapter 1, Figure 1-3)

24 Copyright © 2014 Pearson Education, Inc.
Figure 7-1 Pine Valley Furniture Company Customer_T and Order_T tables with pointers from customers to their orders These tables are used in queries that follow Copyright © 2014 Pearson Education, Inc. Chapter 7 24

25 Equi-Join Example For each customer who placed an order, what is the customer’s name and order number? The best way to find out match customers with their orders is including CustumerID from both tables B/C it is a common field between two as PK and FK.

26 Processing Multiple Tables
Type of Joins (driven from Set Theory) Equi-join Natural join Outer join: Left or Right Union join Self join Each example in the textbook chapter 7

27 Example visualization of different join types with results returned in shaded area

28 SQL Examples – Joining Tables
Use of multiple tables Example 24: Save as example 24 List the number and name of each customer together with the number, last name, and first name of the sales rep who represents the customer. CustomerNum, CustomerName, RepNum, LastName, FirstName

29 Customer Rep CustomerNum CustomerName Street City State Zip Balance
CreditLimit RepNum 148 Al's Appliance and Sport 2837 Greenway Fillmore FL 33336 $6,550 $7,500 20 Rep RepNum LastName FirstName Street City State Zip Commission Rate 20 Kaiser Valerie 624 Randall Grove FL 33321 $20,542.50 0.05

30 SQL Query to Join Tables
Example 24 SQL Query to Join Tables

31 Example 24 SELECT CustomerNum, CustomerName, Rep.RepNum, LastName, FirstName FROM Customer, Rep WHERE Rep.RepNum=Customer.RepNum;

32 Select both: Customer.RepNum and Rep.RepNum
With: WHERE Rep.RepNum=Customer.RepNum

33 Include Rep.RepNum but no where statement:
WHERE Rep.RepNum = Customer.RepNum

34 SQL Examples – Joining Tables (con’t)
Use of multiple tables with a compound condition Example 25: Save as example 25 List the number and name of each customer whose credit limit is $10,000 together with number, last name, and first name of the sales rep who represents the customer.

35 Query to Restrict Records in Join
Example 25 Query to Restrict Records in Join

36 Example 25 SELECT CustomerNum, CustomerName, Rep.RepNum, LastName, FirstName FROM Customer, Rep WHERE Rep.RepNum=Customer.RepNum AND CreditLimit=10000;

37 SQL Examples – Joining Tables (con’t)
Example 26: Save as example For every order, list the order number, order date, customer number, and customer name. In addition, for each order line within the order, list the part number, description, number ordered, and quoted price. How many tables? How many conditions?

38 Query to Join Multiple Tables
Example 26 Query to Join Multiple Tables

39 Example 26 SELECT Orders.OrderNum, Orderdate, Customer.CustomerNum, CustomerName, Part.PartNum, Description, NumOrdered, QuotedPrice FROM Orders, Customer, OrderLine, Part WHERE Customer.CustomerNum=Orders.CustomerNum AND Orders.OrderNum=OrderLine.OrderNum AND OrderLine.PartNum=Part.PartNum;

40 SQL Examples – Union Example 27: Save as example 27
The union of two tables is a table containing all rows that are in either the first table, the second table, or both tables. Two tables involved in union must have same structure. Example 27: Save as example 27 List the number and name of all customers that are either represented by sales rep 35 or that currently have orders on file, or both.

41 Example 27 SQL Query to Perform Union
Red: Currently have orders on file Blue: Represented by sales rep 35 Green: Both

42 Example 27 SELECT CustomerNum, CustomerName FROM Customer
WHERE RepNum='35' UNION SELECT Customer.CustomerNum, CustomerName FROM Customer, Orders WHERE Customer.CustomerNum=Orders.CustomerNum;

43 Three Basic Functions by SQL And Their Basic SQL Commands
Data definition (last topic) through the use of CREATE Data manipulation (next topic) through INSERT, UPDATE, and DELETE Data querying (we are done with this) through the use of SELECT AND MANY OTHERS, which is the basis for all SQL queries.

44 SQL - Data Manipulation
Possible with Access UPDATE INSERT DELETE Possible with enterprise level DBMS COMMIT ROLLBACK

45 SQL - Data Manipulation (con’t)
UPDATE command makes data entry corrections UPDATE Project SET PrjtLocat = 'Bellaire', DeptNum = 5 WHERE PrjtNum = 10; UPDATE Employee SET Salary = Salary * 1.1 WHERE Branch = 'Lincoln';

46 SQL - Data Manipulation (con’t)
INSERT command add new data to a table INSERT INTO Employee (SSN, LastName, FirstName) VALUES ('Richard', 'Marini', '43433'); DELETE command removes table row DELETE FROM Employee WHERE LastName = 'Brown';

47 SQL - Data Manipulation (con’t)
COMMIT command store data on the secondary memory permanently ROLLBACK command restores database back to previous condition if COMMIT hasn’t been used

48 SQL Examples - Data Manipulation
Example 28: Save as example 28 Change the street address of customer 524 to 1445 Rivard First, review the current street address of customer 524 (838 Ridgeland)

49 Example 28 UPDATE Customer SET Street = '1445 Rivard'
WHERE CustomerNum='524';

50 SQL Examples - Data Manipulation
Example 29: Save as example 29 Add a new sales rep to the Rep table. Her number is 16, her name is Sharon Rands, and her address is 826 Raymond, Altonville, FL She has not yet earned any commission, but her commission rate is 5%(0.05).

51 Example 29 INSERT INTO Rep
VALUES ('16', 'Rands', 'Shron', '826 Raymond', 'Altonville', 'FL', '32543', 0, 0.05);

52 SQL Examples - Data Manipulation
Example 30: Save as example 30 Delete any row in the Orderline table in which the part number is BV06 First, review the part number BV06 (OrderNum21617)

53 Example 30 DELETE * FROM OrderLine WHERE PartNum='BV06';

54 SQL Examples – Creating a New Table Using a Existing Table
Example 31: save as example 31 Create a new table named SmallCust, consisting of all fields from the Customer table and those rows in which the credit limit is less than or equal to $7,500. SELECT INTO Name of table to create FROM WHERE

55 SQL Query to Create New Table
Example 31 SQL Query to Create New Table

56 Example 31 SELECT * INTO SmallCust FROM Customer
WHERE CreditLimit<=7500;

57 SQL - Data Definition I Create a database structure to hold all the database tables; MS Access ONLY can create tables Usually, only a DBA can create a new database structure SQL syntax for creating a database structure: CREATE SCHEMA AUTHORIZATION <creator>; Example: CREATE SCHEMA AUTHORIZATION JONES;

58 SQL - Data Definition II
Specify a new relation by giving it a name and specifying each of its attributes. Each attribute is given a name, a data type to specify its values, and some constraints on the attribute. Syntax: CREATE TABLE <table name>;

59 SQL Example – Data Definition
Example 32: Save as example 32 Create a table call “CSUB” that contains following fields: EmpID Number (vs. Number(9) or Num(9)) LastName Char(20) FirstName Char(20) Street Char(30) City Char(20) State Char(2) Phone Number

60 Example 32 (con’t) Using Access Insert following values:
Create table CSUB (EmpID Number, LastName Char(20), FirstName Char(20), Street Char(30), City Char(20), State Char(2), Phone Number); Insert following values: EmpID: LastName: your lastname FirstName: your firstname Street: 9001 Stockdale Hgwy City: Bakersfield State: CA Phone:

61 Example 32 INSERT INTO Employee
VALUES (' ', 'Choi', 'Yong', '9001 Stockdale', 'Bakersfield', 'CA', ' ');

62 Using Oracle CREATE TABLE EMPLOYEE (FNAME VARCHAR(15) NOT NULL,
LNAME VARCHAR(15) NOT NULL, SSN CHAR(9) NOT NULL, BDATE DATE, SEX CHAR, SALARY DECIMAL(10,2), SUPERSSN CHAR(9), DEPTNO INT NOT NULL, PRIMARY KEY (SSN), FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE(SSN), FOREIGN KEY (DNO) REFERENCES DEPARTMENT(DNUMBER) );


Download ppt "Yong Choi School of Business CSU, Bakersfield"

Similar presentations


Ads by Google