1 Information Retrieval and Use (IRU) An Introduction To SQL Part 2.

Slides:



Advertisements
Similar presentations
BACS 485—Database Management Advanced SQL Overview Advanced DDL, DML, and DCL Commands.
Advertisements

Copyright  Oracle Corporation, All rights reserved. 4 Aggregating Data Using Group Functions.
Introduction To SQL Lynnwood Brown President System Managers LLC Copyright System Managers LLC 2003 all rights reserved.
12-1 Copyright  Oracle Corporation, All rights reserved. What Is a View? EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
Restricting and sorting data 16 May May May Created By Pantharee Sawasdimongkol.
Bogdan Shishedjiev SQL1 SQL Reminder of SQL. Bogdan Shishedjiev SQL 2 Subsets of language Data definition language (DDL) –Domain definition –Schema definition.
1Eyad Alshareef Enhanced Guide to Oracle 10g Chapter 3: Using SQL Queries to Insert, Update, Delete, and View Data.
Copyright  Oracle Corporation, All rights reserved. 2 Restricting and Sorting Data.
Aggregating Data Using Group Functions. Objectives After completing this lesson, you should be able to do the following: Identify the available group.
Copyright  Oracle Corporation, All rights reserved. 5 Aggregating Data Using Group Functions.
1Eyad alshareef Enhanced Guide to Oracle 10g Chapter 3: Using SQL Queries to Insert, Update, Delete, and View Data.
Set operators (UNION, UNION ALL, MINUS, INTERSECT) [SQL]
Writing Basic SQL statement 2 July July July Create By Pantharee Sawasdimongkol.
Logical Operators Operator AND OR NOT Meaning Returns TRUE if both component conditions are TRUE Returns TRUE if either component condition is TRUE Returns.
o At the end of this lesson, you will be able to:  Describe the life-cycle development phases  Discuss the theoretical and physical aspects of a relational.
Copyright  Oracle Corporation, All rights reserved. I Introduction.
Copyright  Oracle Corporation, All rights reserved. 1 Writing Basic SQL Statements.
4-1 Copyright  Oracle Corporation, All rights reserved. Displaying Data from Multiple Tables.
Dr. Philip Cannata 1 Programming Languages Prolog Part 3 SQL & Prolog.
SQL (DDL & DML Commands)
1 Theory, Practice & Methodology of Relational Database Design and Programming Copyright © Ellis Cohen Introduction to Relational Databases &
ACTION QUERIES (SQL COMMANDS ) STRUCTURED QUERY LANGUAGE.
2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, All rights reserved. Capabilities of SQL SELECT Statements Selection Projection.
Copyright  Oracle Corporation, All rights reserved. Writing Basic SQL Statements.
1 Information Retrieval and Use (IRU) CE An Introduction To SQL Part 1.
Copyright س Oracle Corporation, All rights reserved. 5 Aggregating Data Using Group Functions.
SELECT Statements Lecture Notes Sree Nilakanta Fall 2010 (rev)
An Introduction To SQL - Part 1 (Special thanks to Geoff Leese)
Copyright س Oracle Corporation, All rights reserved. I Introduction.
RELATSIOONILISED ANDMEBAASID(alg) SQLi VÕIMALUSED.
7 Multiple-Column Subqueries. 7-2 Objectives At the end of this lesson, you should be able to: Write a multiple-column subquery Describe and explain the.
SQL- DQL (Oracle Version). 2 SELECT Statement Syntax SELECT [DISTINCT] column_list FROM table_list [WHERE conditional expression] [GROUP BY column_list]
1 Theory, Practice & Methodology of Relational Database Design and Programming Copyright © Ellis Cohen Basic SQL These slides are licensed under.
Session 2: SQL (A): Parts 1 and 2 Original materials supplied by the Oracle Academic Initiative (OAI). Edited for classroom use by Professor Laku Chidambaram.
SQL: Part 1 Original materials supplied by the Oracle Academic Initiative (OAI). Edited for classroom use by Professor Laku Chidambaram. Not for commercial.
1 Writing Basic SQL Statements. 1-2 Objectives At the end of this lesson, you should be able to: List the capabilities of SQL SELECT statements Execute.
I-1 Copyright س Oracle Corporation, All rights reserved. Data Retrieval.
Copyright  Oracle Corporation, All rights reserved. 12 Creating Views.
1 Theory, Practice & Methodology of Relational Database Design and Programming Copyright © Ellis Cohen Subqueries These slides are licensed under.
An Introduction To SQL Part 2 (Special thanks to Geoff Leese)
9-1 © Prentice Hall, 2007 Topic 9: Physical Database Design Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Copyright س Oracle Corporation, All rights reserved. I Introduction.
2-1 Limiting Rows Using a Selection “…retrieve all employees in department 10” EMP EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT BLAKEMANAGER CLARKMANAGER.
1 Theory, Practice & Methodology of Relational Database Design and Programming Copyright © Ellis Cohen Grouping These slides are licensed under.
Copyright س Oracle Corporation, All rights reserved. 12 Creating Views.
1-1 Copyright  Oracle Corporation, All rights reserved. Logging In to SQL*Plus From Windows environment:From Windows environment: From command line:From.
Chapter 11: Physical Database Design Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
CSCI N311: Oracle Database Programming 5-1 Chapter 15: Changing Data: insert, update, delete Insert Rollback Commit Update Delete Insert Statement –Allows.
Copyright  Oracle Corporation, All rights reserved. 2 Restricting and Sorting Data.
Writing Basic SQL Statements. Objectives After completing this lesson, you should be able to do the following: –List the capabilities of SQL SELECT statements.
SQL: Structured Query Language It enables to create and operate on relational databases, which are sets of related information stored in tables. It is.
Defining a Column Alias
1 ORACLE I 3 – SQL 1 Salim Phone: YM: talim_bansal.
Copyright س Oracle Corporation, All rights reserved. 1 Writing Basic SQL Statements.
Communicating with a RDBMS Using SQL Database SQL> SELECT loc 2 FROM dept; SQL> SELECT loc 2 FROM dept; SQL statement is entered Statement is sent to database.
Relational Normalization Theory
Aggregating Data Using Group Functions
Enhanced Guide to Oracle 10g
Subqueries.
Aggregating Data Using Group Functions
Manipulating Data Schedule: Timing Topic 40 minutes Lecture
Interacting with the Oracle Server
(SQL) Aggregating Data Using Group Functions
What Is a View? EMPNO ENAME JOB EMP Table EMPVU10 View
Aggregating Data Using Group Functions
Aggregating Data Using Group Functions
(SQL) Manipulating Data
Restricting and Sorting Data
Database Programming Using Oracle 11g
Presentation transcript:

1 Information Retrieval and Use (IRU) An Introduction To SQL Part 2

2 SQL Data Retrieval n Recap: n The SQL Data Manipulation Language (DML)has four commands: ä SELECT: retrieving data ä INSERT: creating data ä UPDATE: altering data ä DELETE: removing data

3 Select Statement: displaying data n You can display data in a different format: ä Show all the department names found in the dept table but rename the column with the heading diff_dept: –SQL> select dname as diff_dept from dept; DIFF_DEPT ACCOUNTING RESEARCH SALES OPERATIONS

4 The Order By Clause: Key principles n Oracle will display your rows of data in an unordered fashion. n We use the ORDER BY clause to order the rows that are retrieved. n The ORDER BY clause should always be placed last in the query. n The default ordering is ascending ä Numeric ascending by order value ä Dates chronological order ä Charalphabetically ä DESC is used to reverse the order

5 The Order By Clause: Example 1 n List all departments in order of their location: SELECT * FROM dept ORDER BY loc; DEPTNO DNAME LOC OPERATIONS BOSTON 30 SALES CHICAGO 20 RESEARCH DALLAS 10 ACCOUNTING NEW YORK

6 The order by Clause: example 2 n Show details of employees in department 10 with the earliest hire dates first: SELECT empno, ename, hiredate FROM emp WHERE deptno = 10 ORDER BY hiredate; EMPNO ENAME HIREDATE CLARK 09-JUN KING 17-NOV MILLER 23-JAN-82

7 The order by Clause: example 3 n Show all employees in job order but within each job place in descending order of salary: SELECT ename, job, sal, deptno FROM emp ORDER BY job, sal DESC; ä 14 rows will be selected.

8 The order by Clause: example 4 SELECT ename,job,sal, comm, comm/sal as ratio,deptno From emp Where deptno = 30 Order by ratio; ENAME JOB SAL COMM RATIO DEPTNO TURNER SALESMAN ALLEN SALESMAN WARD SALESMAN MARTIN SALESMAN BLAKE MANAGER JAMES CLERK (NB: Nulls sort high)

9 Group By Function n Results can be grouped according to a common attribute value. We can find the sum of the salaries by department. SELECT deptno, sum(sal) FROM emp GROUP BY deptno; DEPTNO SUM(SAL)

10 Processing Data: Aggregate Functions n Some simple functions include: ä Count: returns a count of rows ä Min:returns the lowest value for an attribute ä Max:returns the highest value for an attribute ä Sum:returns the sum of values ä Avg:returns the average value SELECT COUNT (*) FROM EMP COUNT(*) ä RETURNS THE NUMBER OF ROWS IN THE EMP TABLE.

11 Processing Data: min/max n You can find the highest salary: Select max(sal) from emp; MAX(SAL) Select min (sal) as min_sal from emp; MIN_SAL

12 Processing Data: sum/average n Sum is used on numeric functions to return the sum of all the values: ä SELECT sum(sal), sum (comm) from emp; SUM(SAL) SUM(COMM) ä SELECT avg(SAL) from emp; AVG(SAL)

13 Having Clause n We can constrain the subgroups that appear by using a HAVING CLAUSE. n We can find the sum of the salaries of each department, but only request those departments with more than 5 employees. SELECT deptno, sum(sal) FROM emp GROUP BY deptno HAVING count (*) >5; DEPTNO SUM(SAL)

14 The self-join n Useful to put more than one aggregate function on the same row of output. n E.g. “Count the number of people in dept 10 who receive salary, and the number in dept 10 who receive commission” SELECT COUNT(A.SAL) AS COUNTSAL, COUNT(B.COM) AS COUNTCOMM FROM EMP A, EMP B WHERE A.EMPNO=B.EMPNO AND A.DEPTNO=10;

15 SQL DATA DEFINITION : DDL n Create Table n CREATE TABLE customer as follows: CREATE TABLE CUSTOMER (CUSTOMER_ID NUMBER (5), NAME VARCHAR2 (10), HOUSE_NUMBER NUMBER (2), STREET VARCHAR2 (15), TOWN VARCHAR2 (15)); n Each column has a name, data type and column width.

16 DDL: Creating Tables continued. n Here’s an example. What’s it doing? Create Table account (account_numnumber (6), Account_namevarchar2 (20), Branch_namevarchar2(20), Date_openeddate, Balancenumber (10,2)); The Balance column is a decimal number with a maximum Column width of ten digits and a precision of two digits i.e is stored as

17 Simple Constraints: Primary keys n A correct definition of the table ‘customer’ might be: CREATE TABLE CUSTOMER (CUSTOMER_ID NUMBER (5), PRIMARY KEY NOT NULL, NAME VARCHAR2 (10), HOUSE_NUMBER NUMBER (2), STREET VARCHAR2 (15), TOWN VARCHAR2 (15));

18 Simple Constraints: Primary keys n The PRIMARY KEY indicates that all values for these columns must be unique. n NOT NULL is used to designate that the column must have a value for all its rows. n Therefore in the ‘account’ table the first two lines should read: Create Table account (account_numnumber (6) primary key not null,

19 Simple Constraints: n Customer and account has a many to many relationship, we can resolve this with a table constraint by creating a composite primary key. CREATE table customer_account (CUSTOMER_ID NOT NULL, ACCOUNT_NUM NOT NULL, PRIMARY KEY (CUSTOMER_ID,ACCOUNT_NUM));

20 Simple Constraints: Foreign keys n In the CUSTOMER_ACCOUNT table that we have just created we have two foreign keys CUSTOMER_ID and ACCOUNT_NUM. We can specify these at the time of defining the table as: CREATE table CUSTOMER_ACCOUNT CUSTOMER_ID NOT NULL REFERENCES CUSTOMER, ACCOUNT_NUM NOT NULL REFERENCES ACCOUNT, PRIMARY KEY(REFNO,ACCNO)); (In order to get rid of the old table use the command DROP table customer_account. Take care when using this command because when you have dropped a table it has gone for good!)

21 Simple Constraints: Foreign keys n When we have created a table we may find that the original definition of the table is now unsatisfactory. For example we may create another table BANK, and the account table has a foreign key reference to the table Bank in the attribute BRANCHNAME. Therefore we need to create a relation between Account and Bank. We can use the ALTER command to change the original definition of the Account table. ä ALTER TABLE ACCOUNT ä ADD(FOREIGN KEY(BRANCHNAME) REFERENCES BANK);

22 Dropping & altering objects n DROP <object name n DROP TABLE EMP; (NOT undoable!) n ALTER object name> ADD /DROP COLUMN n ALTER TABLE EMP n ADD NICKNAME VARCHAR(30)

23 Inserting Data Using SQL n We use the SQL command INSERT to create rows. INSERT INTO CUSTOMER VALUES(12345, ‘DAWES’, 21, ‘BACK LANE’, ‘STAFFORD’); Remember non-numerics require quotation marks around their values. These values have been entered into the Customer table in the order in which the columns appeared in the original create table statement.

24 Deleting/UPDATING Data Using SQL n Use the DELETE command to remove data from a relation (i.e. table). DELETE FROM CUSTOMER WHERE REFNO = 12345; n Use the UPDATE command to alter the data held in the rows. i.e. Change the name in the account table from Dawes to Dalby. UPDATE CUSTOMER SET NAME = ‘DALBY’ WHERE CUSTOMER_ID = 12345;

25 SQL SUMMARY n You have worked through some simple SQL expressions and have learnt how to : ä Use the SELECT command for retrieving data. ä Use INSERT, UPDATE, AND DELETE commands to insert, amend and delete data. ä Use aggregate functions to assist with processing data, i.e. COUNT, MIN, MAX, SUM, AVG. ä Use DDL to create, alter and drop tables. ä Create some simple constraints using the WHERE clause. ä Use the GROUP BY, HAVING and ORDER BY functions to assist with selecting and displaying data. ä Create simple primary and foreign key constraints.

26 Further Reading n Rolland chapter 5 n Patrick chapters 1-3, 9-11, 13 n SQL at w3schools - click to follow the link SQL at w3schools - click to follow the link