# Displaying Data from Multiple Tables

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Displaying Data from Multiple Tables 1

2 Objectives After completing this lesson, you should be able to do the following: Write SELECT statements to access data from more than one table using eguality and nonequality joins View data that generally does not meet a join condition by using outer joins Join a table to itself Lesson Aim This lesson covers how to obtain data from more than one table, using the different methods available. 2

3 Obtaining Data from Multiple Tables SELECT e.empno, e.deptno, d.loc FROM emp e, dept d WHERE e.deptno = d.deptno; Data from Multiple Tables Sometimes you need to use data from more than one table. In the slide example, the report displays data from two separate tables. EMPNO exists in the EMP table DEPTNO exists in both the EMP and DEPT the Tables. LOC exists in the DEPT table. To prodııce the report. you need to link EMP and DEPT tables and access data from both of them. 3

4 Cartesian Product A Cartesian product is formed when: A join condition is omitted A join condition is invalid All rows in the first table are joined to all rows in the second table To avoid a Cartesian product, always include a valid join condition in a WHERE clause. 4

5 Generating a Cartesian Product SELECT ename, dname FROM emp, dept; ENAME BLAKE SMITH ALLEN DNAME ACCOUNTING ACCOUNTING ACCOUNTING 56 Rows Selected 5

6 What Is a Join? Use a join to query data from more than one table. SELECT FROM WHERE tablel.column, table2. column2 table1, table2 tablel. columnl = table2. column2; Write the join condition in the WHERE clause. Prefix the column name with the table name when the same column name appears in more than one table. Defining Joins When data from more than one table in the database is required, a join condition is used. Rows in one table can be joined to rows in another table according to common values existing in corresponding columns, that is, usually primary and foreign key columns. TO display data from two or more related tables, write a simple join condition in the WHERE clause, in the syntax: Table1.column1 denotes the table and column from which data is retrieved Table1. column1 = is the condition that joins (or relates) the tables together table2. column2 6

7 Types of Joins Equijoin Non-equijoin Outer join Self join 7

8 Types of Joins There are wo main types of join conditions: Equijoins Non-equijoins Additional join methods include the following Outerjoins Selfjoins Set Operators Note: Set operators are not covered in this course.they are covered in another SQL course. 8

9 What Is an Equijoin? Equijoins To determine the name of an employee s department, you compare the value in the DEPTNO column in the EMP table with the DEPTNO values in the DEPT table. The relationship between the EMP and DEPT table is an equijoin - that is, values in the DEPTNO column on both tables must be equal. Frequently, this type of join involves primary and foreign key complements. Note: Equijoins are also called simple joins or innerjoins. 9

10 Retrieving Records with Equijoins SELECT EMP.EMPNO, EMP.ENAME, EMP.DEPTNO, DEPT.DEPTNO, DEPT.LOC FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO EMPNO ENAME DEPTNO DEPTNO LOC 14 rows selected BLAKE CHICAGO 7369 SMITH DALLAS 7499 ALLEN CHICAGO Retrieving Records with Equijoins in the slide examaple. The SELECT clause specifies the column names to retrieve: - employee name, employee number, and department number, which are columns in the emp table - department number, department name, and location, which are columns in the DEPT table. The FROM clause specifies the two tables that the database must access: EMP table DEPT table The WHERE clause specifies how the tables are to be joined: EMP.DEPTNO=DEPT.DEPTNO 10

11 Oualifying Ambiguous Column Names Use table prefixes to qualify column names that are in multiple tables. Improve performance by using table prefixes. Distinguish columns that have identical names but reside in different tables by using column aliases. Qualifying Ambiguous Column Names You need to gualify the names of the columns in the WHERE clause ""itli the table names to avoid ambiguity without the table prefixes. the DEPTNO column could be from either the DEPT table or the EMP table. It is necessary to add the table prefix to execute your query. If there are no common column names between the two tables, there is no need to qualify the columns. Howevwr, you will gain improved performance by using the table prefix because you tell the Oracle Server exactly where to find the columns. 11

12 Using Table Aliases The following two scripts are equivalent. In the second one table aliases are used. SELECT emp.empno, emp.ename, emp.deptno, dept.deptno, dept.loc FROM emp, dept WHERE emp.deptno = Dept.deptno; SELECT e.empno, e.ename, e.deptno, d.deptno, d.loc FROM emp e, dept d WHERE e.deptno = d.deptno; EMPNO ENAME DEPTNO DEPTNO LOC 7698 BLAKE CHICAGO 7369 SMITH DALLAS 7499 ALLEN CHICAGO 14 rows selected. 12

13 EQUIJOIN SELECT EMP.EMPNO, EMP.ENAME, EMP.DEPTNO, DEPT.DEPTNO, DEPT.LOC FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO ; EMPNO ENAME DEPTNO DEPTNO LOC 7698 BLAKE CHICAGO 7369 SMITH DALLAS 14 rows selected. SELECT e.ename, e.deptno, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno ; ENAME DEPTNO DNAME BLAKE SMITH 20 RESEARCH 14 rows selected. 13

14 Additional Search Conditions Using the AND Operator Additional Search Conditions In addition to the join, you may have criteria for your WHERE clause. For example, to display King's employee number, name, department number, and departments localion, you need an additional condition in the WHERE clause. SELECT EMP.EMPNO, EMP.ENAME, EMP.DEPTNO, DEPT.DEPTNO, DEPT.LOC FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO AND INITCAP(ename) = 'King' ; EMPNO ENAME DEPTNO DEPTNO LOC 7839 KING NEW YORK SELECT e.ename, e.sal, s.grade FROM EMP e, SALGRADE s WHERE e.sal BETWEEN s.losal AND s.hisal ; ENAME SAL GRADE SMITH JAMES rows selected. 14

15 Joining More Than Two Tables SELECT e.ename, e.deptno, d.dname, s.grade FROM EMP e, DEPT d, salgrade s WHERE e.deptno = d.deptno AND e.sal BETWEEN s.losal AND hisal; ENAME DEPTNO DNAME GRADE KING 10 ACCOUNTING 5 CLARK 10 ACCOUNTING 4 MILLER 10 ACCOUNTING 2 FORD 20 RESEARCH 4 SCOTT 20 RESEARCH 4 JONES 20 RESEARCH 4 ADAMS 20 RESEARCH 1 SMITH 20 RESEARCH 1 BLAKE 4 ALLEN 3 TURNER 3 MARTIN 2 WARD 2 JAMES 1 14 rows selected. 15

16 Non-Equijoins The relationship between the EMP table and the SALGRADE table is a non-equijoin, meaning that no column in the EMP table corresponds directly to a column in the SALGRADE table. The relationship between the two tables is that the SAL column in the EMP table is between the LOSAL and HISAL column of the SALGRADE table. The relationship is obtained using an operator other than equal (=). EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 7698 BLAKE MANAGER /05/ rows selected. GRADE LOSAL HISAL rows selected. Salary in the EMP table is between low salary and high salary in the SALGRADE table. SELECT e. ename, e. sal, s. grade FROM emp e, salgrade s WHERE e.sal BETWEEN s.losal AND s.hisal; ENAME SAL GRADE SMITH JAMES rows selected. 16

17 Retrieving Records with Non-Equijoins SELECT e.ename, e.sal, s.grade FROM EMP e, SALGRADE s WHERE e.sal +e.comm > s.hisal ENAME SAL GRADE TURNER WARD ALLEN MARTIN TURNER WARD ALLEN MARTIN MARTIN rows selected. Non-Equijoins (continued) The slide example creates a non-equijoin to evaluate an employee's salary grade. The salary must be between any pair of the low and high salary ranges. It is important to note that all employees appear exactly once when this query is executed. No employee is repeated in the list. There are two reasons for this: None of the rows in the salary grade table contain grades that overlap. That is, the salary value for an employee can only lie between the low salary and high salary values of one of the rows in the salary grade table. All of the employees' salaries lie within the limits provided by the salary grade table. That is, no employee earns less than the lowest value contained in the LOSAL column or more than the highest value contained in the HISAL column. Note: Other operators such as <= and >= could be used, but BETWEEN is the simplest. Remember to specify the low value first and the high value last when using BETWEEN. Table aliases have been specified for performance reasons, not because of possible ambiguity. 17

18 Outer Joins No employee in the OPERATIONS department SELECT e.ename, e.deptno, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno; SMITH ALLEN WARD JONES MARTIN BLAKE CLARK SCOTT KING TURNER ADAMS JAMES FORD MILLER ENAME DEPTNO DNAME 14 rows selected. 20 RESEARCH 20 RESEARCH 10 ACCOUNTING 20 RESEARCH 10 ACCOUNTING 20 RESEARCH 20 RESEARCH 10 ACCOUNTING 18

19 Outer Joins Returning Records with No Direct Match with Outer Joins If a row does not satisfy a join condition, the row will not appear in the query result. For example, in the equijoin condition of EMP and DEPT tables, department OPERATIONS does not appear because no one works in that department. 19

20 Outer Joins You use an outer join to also see rows that do not usually meet the join condition. Outer join operator is the plus sign (+). SELECT tablel.column, table2. column FROM tablel, table2 WHERE tablel.column(+) = table2.column; SELECT tablel.column, table2.column FROM tablel, table2 WHERE tablel.column. = table2. column {+) ; Returning Records with No Direct Match with Outer Joins The missing row(s) can be returned if an outerjoin operator is used in the join condition. The operator is a plus sign enclosed in parenthesis (+), and it is placed on the "side" of the equality that the join rhctt a defıcient in mfürmcınun. This operator has the effect of creating one or more mil l rows, to which one or more rows from the nondeficient table can be joined in the syntax. In the condition that joins (or relates) the lables together, is the outer join symbol, which can be placed on either side of the WHERE clause condition, but not on both sides (Place the outer join symbol following the name of the column in the table without the matching rows.) 20

21 OUTER JOIN Previously, we had looked at left join, or inner join, where we select rows common to the participating tables to a join. What about the cases where we are interested in selecting elements in a table regardless of whether they are present in the second table? We will now need to use the SQL OUTER JOIN command. The syntax for performing an outer join in SQL is database-dependent. For example, in Oracle, we will place an "(+)" in the WHERE clause on the other side of the table for which we want to include all the rows. Let's assume that we have the following two tables, Table Store_Information Table Geography store_name Sales Date Los Angeles \$1500 Jan San Diego \$250 Jan Los Angeles \$300 Jan Boston \$700 Jan region_name East East West West store_name Boston New York Los Angeles San Diego and we want to find out the sales amount for all of the stores. If we do a regular join, we will not be able to get what we want because we will have missed "New York," since it does not appear in the Store_Information table. Therefore, we need to perform an outer join on the two tables above: 21

22 OUTER JOIN SELECT A1.store_name, SUM(A2.Sales) SALES FROM Geography A1, Store_Information A2 WHERE A1.store_name = A2.store_name (+) GROUP BY A1.store_name Note that in this case, we are using the Oracle syntax for outer join. Result: store_name Boston \$700 New York SALES Los Angeles \$1800 San Diego \$250 Note: NULL is returned when there is no match on the second table. In this case, "New York" does not appear in the table Store_Information, thus its corresponding "SALES" column is NULL. SELECT e.ename, d.deptno, d.dname FROM emp e, dept d WHERE e.deptno(+) = d.deptno ORDER BY e.deptno; ENAME DEPTNO DNAME ALLEN WARD 40 OPERATIONS 15 rows selected. 22

23 Outer Joins Returning Records with No Direct Match with Outer Joins If a row does not satisfy a join condition, the row will not appear in the query result. For example, in the equijoin condition of EMP and DEPT tables, department OPERATIONS does not appear because no one works in that department. SELECT e.ename, e.deptno, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno; ENAME DEPTNO DNAME BLAKE SMITH 20 RESEARCH ALLEN WARD JONES 20 RESEARCH MARTIN CLARK 10 ACCOUNTING SCOTT 20 RESEARCH KING 10 ACCOUNTING TURNER ADAMS 20 RESEARCH JAMES FORD 20 RESEARCH MILLER 10 ACCOUNTING 14 rows selected. 23

24 Using Outer Joins SELECT e.ename, d.deptno, d.dname FROM emp e, dept d WHERE e.deptno(+) = d.deptno ORDER BY e.deptno; ENAME DEPTNO DNAME MILLER 10 ACCOUNTING KING 10 ACCOUNTING CLARK 10 ACCOUNTING SMITH 20 RESEARCH FORD 20 RESEARCH ADAMS 20 RESEARCH SCOTT 20 RESEARCH JONES 20 RESEARCH TURNER JAMES ALLEN MARTIN BLAKE WARD 40 OPERATIONS 15 rows selected. 24

25 Joining a Table to Itself SQL JOIN Now we want to look at joins. To do joins correctly in SQL requires many of the elements we have introduced so far. Let's assume that we have the following two tables, Table Store_Information Table Geography store_name Sales Date Los Angeles \$1500 Jan San Diego \$250 Jan Los Angeles \$300 Jan Boston \$700 Jan region_name East East West West store_name Boston New York Los Angeles San Diego and we want to find out sales by region. We see that table Geography includes information on regions and stores, and table Store_Information contains sales information for each store. To get the sales information by region, we have to combine the information from the two tables. Examining the two tables, we find that they are linked via the common field, "store_name". We will first present the SQL statement and explain the use of each segment later: 25

26 Joining a Table to Itself SELECT A1.region_name REGION, SUM(A2.Sales) SALES FROM Geography A1, Store_Information A2 WHERE A1.store_name = A2.store_name GROUP BY A1.region_name Result: REGION SALES East \$700 West \$2050 The first two lines tell SQL to select two fields, the first one is the field "region_name" from table Geography (aliased as REGION), and the second one is the sum of the field "Sales" from table Store_Information (aliased as SALES). Notice how the table aliases are used here: Geography is aliased as A1, and Store_Information is aliased as A2. Without the aliasing, the first line would become SELECT Geography.region_name REGION, SUM(Store_Information.Sales) SALES which is much more cumbersome. In essence, table aliases make the entire SQL statement easier to understand, especially when multiple tables are included. Next, we turn our attention to line 3, the WHERE statement. This is where the condition of the join is specified. In this case, we want to make sure that the content in "store_name" in table Geography matches that in table Store_Information, and the way to do it is to set them equal. This WHERE statement is essential in making sure you get the correct output. Without the correct WHERE statement, a Cartesian Join will result. Cartesian joins will result in the query returning every possible combination of the two (or whatever the number of tables in the FROM statement) tables. In this case, a Cartesian join would result in a total of 4 x 4 = 16 rows being returned. 26

27 Self Joins MGR in the WORKER table is equal to EMPNO in the MANAGER table. SELECT e.ename, e.empno, m.ename, m.empno FROM emp e, emp m WHERE e.mgr = m.empno ; ENAME EMPNO ENAME EMPNO JAMES 7900 BLAKE 7698 TURNER 7844 BLAKE 7698 MARTIN 7654 BLAKE 7698 WARD 7521 BLAKE 7698 ALLEN 7499 BLAKE 7698 FORD 7902 JONES 7566 SCOTT 7788 JONES 7566 MILLER 7934 CLARK 7782 ADAMS 7876 SCOTT 7788 CLARK 7782 KING 7839 JONES 7566 KING 7839 BLAKE 7698 KING 7839 SMITH 7369 FORD rows selected. 27

28 SELF JOINS SELECT worker.ename 'works for ' manager.ename FROM emp worker, emp manager WHERE worker.mgr = manager.empno; WORKER.ENAME 'WORKSFOR' MANAGER.ENAME JAMESworks for BLAKE TURNERworks for BLAKE 13 rows selected. Joining a Table to Itself (continued) The slide example joins the EMP table to itself. To simulate two tables in the FROM clause, there are two aliases, namely WORKER and MANAGER, for the same table EMP. In this example, the WHERE clause contains the join that means ''where a worker's manager number matches the employee number for the manager. 28

29 Self Joins SELECT e.ename, e.empno, m.ename, m.empno FROM emp e, emp m WHERE e.mgr = m.empno; ENAME EMPNO ENAME EMPNO JAMES 7900 BLAKE 7698 TURNER 7844 BLAKE rows selected. Joining a Table to Itself Sometimes you need to join a table to itself. To find the name of each employee's manager, you need to join the EMP table to itself, or perform a self join. For example, to find the name of Blake's manager, you need to: Find Blake in the EMP table by looking at the ENAME column. Find the manager number for Blake by looking at the MGR column. Blake's manager number is Find the name of the manager with EMPNO 7839 by looking at the ENAME column. King's employee number is 7839, so King is Blake's manager. In this process, you look in the table twice. The first time you look in the table to find Blake in the ENAME column and MGR value of The second time you look in the EMPNO column to find 7839 and the ENAME column to find King 29

30 Summary Summary SELECT tablel. Column, table2. column FROM tablel, table2 WHERE tablel. columnl = table2. column2; Equijoin Non-equijoin Outer join Self join There are multiple ways to join tables. The common thread, though, is that you want to link them through a condition in the WHERE clause. The method you choose will be based on the required result and the data structures that you are using. 30

31 Exercices Solution 1 SELECT e.ename, e.deptno, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno ; Solution 2 SELECT e.job, d.loc FROM emp e, dept d WHERE e.deptno = d.deptno AND e.deptno = 30; Solution 3 SELECT e.ename, d.dname, d.loc FROM emp e, dept d WHERE comm IS NOT NULL AND e.deptno = d.deptno ; Solution 4 SELECT e.ename, d.dname, d.loc FROM emp e, dept d WHERE comm IS NOT NULL AND e.deptno = d.deptno ; Solution 5 SELECT e.ename, e.job, e.deptno, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno AND d.loc = 'DALLAS' ; Solution 6 SELECT e.ename "Đşçi", e.empno "Đşçi No", m.ename "Manager", m.empno "Mgr No" FROM emp e, emp m WHERE e.mgr = m.empno ; Solution 7 SELECT e.ename "Đşçi", e.empno "Đşçi No", m.ename "Manager", m.empno "Mgr No" FROM emp e, emp m WHERE e.mgr = m.empno(+) ; 31

32 Solution 8a SELECT e.deptno "Bölüm", e.ename "Đşçi", b.ename FROM emp e, emp b WHERE e.deptno = b.deptno ORDER BY e.empno ; Solution 8b SELECT e.deptno "Bölüm", e.ename "Đşçi", b.ename FROM emp e, emp b WHERE e.deptno = b.deptno AND e.ename!= b.ename ORDER BY e.empno ; Solution 8c SELECT e.deptno "Bölüm", e.ename "Đşçi", b.ename FROM emp e, emp b WHERE e.deptno = b.deptno AND e.ename <> b.ename ORDER BY e.deptno ; Solution 9a DESC salgrade; Solution 9b SELECT e.ename "Đşçi", e.job "Đşi", d.dname "Bölümü", e.sal "Maaş", s.grade "Barem" FROM emp e, dept d, salgrade s WHERE e.deptno = d.deptno AND e.sal BETWEEN s.losal AND s.hisal ; Solution 10 SELECT e.ename "Đşçi", e.hiredate "Đşe Giriş Tarihi", b.hiredate "Blake" FROM emp e, emp b WHERE e.hiredate > b.hiredate AND b.ename = 'BLAKE' ; Solution 11 SELECT e.ename "Đşçi", e.hiredate "Đşe Giriş Tarihi", m.ename "Manageri", m.hiredate "Managerin Giriş Tar" FROM emp e, emp m WHERE e.hiredate < m.hiredate AND e.mgr = m.empno ; 32

### Displaying Data from Multiple Tables. Chapter 4

Displaying Data from Multiple Tables Chapter 4 1 Objectives After completing this lesson, you should be able to do the following: Write SELECT statements to access data from more than one table using equality

### RDBMS Using Oracle. Lecture Week 7 Introduction to Oracle 9i SQL Last Lecture. kamran.munir@gmail.com. Joining Tables

RDBMS Using Oracle Lecture Week 7 Introduction to Oracle 9i SQL Last Lecture Joining Tables Multiple Table Queries Simple Joins Complex Joins Cartesian Joins Outer Joins Multi table Joins Other Multiple

### Subqueries Chapter 6

Subqueries Chapter 6 Objectives After completing this lesson, you should be able to do the follovving: Describe the types of problems that subqueries can solve Define subqueries List the types of subqueries

### Where? Originating Table Employees Departments

JOINS: To determine an employee s department name, you compare the value in the DEPARTMENT_ID column in the EMPLOYEES table with the DEPARTMENT_ID values in the DEPARTMENTS table. The relationship between

### Displaying Data from Multiple Tables

4 Displaying Data from Multiple Tables Copyright Oracle Corporation, 2001. All rights reserved. Schedule: Timing Topic 55 minutes Lecture 55 minutes Practice 110 minutes Total Objectives After completing

### Retrieval: Multiple Tables and Aggregation

4487CH08.qxd 11/24/04 10:15 AM Page 191 CHAPTER 8 Retrieval: Multiple Tables and Aggregation This chapter resumes the discussion of the retrieval possibilities of the SQL language. It is a logical continuation

Displaying Data from Multiple Tables Objectives After completing this lesson, you should be able to do the following: Write SELECT statements to access data from more than one table using equijoins and

### Database CIS 340. lab#6. I.Arwa Najdi a_najdi1988@yahoo.com

Database CIS 340 lab#6 I.Arwa Najdi a_najdi1988@yahoo.com Outlines Obtaining Data from Multiple Tables (Join) Equijoins= inner join natural join Creating Joins with the USING Clause Creating Joins with

### Chapter 1. Writing Basic. SQL Statements

Chapter 1 Writing Basic SQL Statements 1 Objectives After completing this lesson, you should be able to do the following: List the capabilities of SQL SELECT statements Execute a basic SELECT statement

### Aggregating Data Using Group Functions

Aggregating Data Using Group Functions Objectives Capter 5 After completing this lesson, you should be able to do the following: Identify the available group functions Describe the use of group functions

### Chapter 9 Joining Data from Multiple Tables. Oracle 10g: SQL

Chapter 9 Joining Data from Multiple Tables Oracle 10g: SQL Objectives Identify a Cartesian join Create an equality join using the WHERE clause Create an equality join using the JOIN keyword Create a non-equality

Displaying Data from Multiple Tables Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Write SELECT statements to access data

### Producing Readable Output with SQL*Plus

Producing Readable Output with SQL*Plus Chapter 8 Objectives After completing this lesson, you should be able to do the following: Produce queries that require an input variable Customize the SQL*Plus

### GET DATA FROM MULTIPLE TABLES QUESTIONS

GET DATA FROM MULTIPLE TABLES QUESTIONS http://www.tutorialspoint.com/sql_certificate/get_data_from_multiple_tables_questions.htm Copyright tutorialspoint.com 1.Which of the following is not related to

Displaying Data from Multiple Tables Objectives After completing this lesson, you should be able to do the following: Write SELECT statements to access data from more than one table using equijoins and

### Multiple-Column Subqueries Schedule: Timing Topic

7 Multiple-Column Subqueries Schedule: Timing Topic 20 minutes Lecture 20 minutes Practice 40 minutes Total Objectives After completing this lesson, you should be able to do the following: Write a multiple-column

### Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB

Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB Outline Database concepts Conceptual Design Logical Design Communicating with the RDBMS 2 Some concepts Database: an

### Oracle/SQL Tutorial 1

Oracle/SQL Tutorial 1 Michael Gertz Database and Information Systems Group Department of Computer Science University of California, Davis gertz@cs.ucdavis.edu http://www.db.cs.ucdavis.edu This Oracle/SQL

### 28. List the emps those who joined in 80 s. A) select * from emp where to_char(hiredate, yy ) like 8% ;

SQL-QUERIES 1. Display all the information of the EMP table? A) select * from emp; 2. Display unique Jobs from EMP table? A) select distinct job from emp; B) select unique job from emp; 3. List the emps

### Data Models and Database Management Systems (DBMSs) Dr. Philip Cannata

Data Models and Database Management Systems (DBMSs) Dr. Philip Cannata 1 Data Models in the 1960s, 1970s, and 1980s Hierarchical Network (Graph) Relational Schema (Model) - first 1956 Vern Watts was IMS's

### SQL Introduction Chapter 7, sections 1 & 4. Introduction to SQL. Introduction to SQL. Introduction to SQL

SQL Introduction Chapter 7, sections 1 & 4 Objectives To understand Oracle s SQL client interface Understand the difference between commands to the interface and SQL language. To understand the Oracle

### Lab # 5. Retreiving Data from Multiple Tables. Eng. Alaa O Shama

The Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4113: Database Lab Lab # 5 Retreiving Data from Multiple Tables Eng. Alaa O Shama November, 2015 Objectives:

### Database Access from a Programming Language: Database Access from a Programming Language

Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding

### Database Access from a Programming Language:

Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding

### CHAPTER 12. SQL Joins. Exam Objectives

CHAPTER 12 SQL Joins Exam Objectives In this chapter you will learn to 051.6.1 Write SELECT Statements to Access Data from More Than One Table Using Equijoins and Nonequijoins 051.6.2 Join a Table to Itself

### Conversion Functions

Conversion Functions Conversion functions convert a value from one datatype to another. Generally, the form of the function names follows the convention datatype TO datatype. The first datatype is the

### Objectives. Oracle SQL and SQL*PLus. Database Objects. What is a Sequence?

Oracle SQL and SQL*PLus Lesson 12: Other Database Objects Objectives After completing this lesson, you should be able to do the following: Describe some database objects and their uses Create, maintain,

### Using TimesTen between your Application and Oracle. between your Application and Oracle. DOAG Conference 2011

DOAG Conference 2011 Using TimesTen between your Application and Oracle Jan Ott, Roland Stirnimann Senior Consultants Trivadis AG BASEL 1 BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG

### Examine the structure of the EMPLOYEES table: EMPLOYEE_ID NUMBER Primary Key FIRST_NAME VARCHAR2(25) LAST_NAME VARCHAR2(25)

Examine the structure of the EMPLOYEES table: EMPLOYEE_ID NUMBER Primary Key FIRST_NAME VARCHAR2(25) LAST_NAME VARCHAR2(25) Which three statements inserts a row into the table? A. INSERT INTO employees

### DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING DR.NAVALAR NEDUNCHEZHIAYN COLLEGE OF ENGINEERING, THOLUDUR-606303, CUDDALORE DIST.

CS2258-DATABASE MANAGEMENT SYSTEM LABORATORY LABORATORY MANUAL FOR IV SEMESTER B. E / CSE & IT (FOR PRIVATE CIRCULATION ONLY) ACADEMIC YEAR: 2013 2014 (EVEN) ANNA UNIVERSITY, CHENNAI DEPARTMENT OF COMPUTER

### DB2 Developers Guide to Optimum SQL Performance

DB2 Developers Guide to Optimum SQL Performance Réunion du Guide DB2 pour z/os France Lundi 18 mars 2013 Tour Euro Plaza, Paris-La Défense Tom Beavin Silicon Valley Lab Email: beavin@us.ibm.com 2012 IBM

### SQL the natural language for analysis ORACLE WHITE PAPER JUNE 2015

SQL the natural language for analysis ORACLE WHITE PAPER JUNE 2015 Contents Overview 1 Introduction 1 Powerful Framework 1 Simplified Optimization 6 Continuous Evolution 8 Standards Based 9 Why Oracle

### David L. Fuston, dfuston@vlamis.com Vlamis Software Solutions, Inc., www.vlamis.com

Data Warehouse and E-Business Intelligence ORACLE S SQL ANALYTIC FUNCTIONS IN 8i AND 9i David L. Fuston, dfuston@vlamis.com, www.vlamis.com INTRODUCTION The SQL language has traditionally provided little

### Using SQL Queries to Insert, Update, Delete, and View Data: Joining Multiple Tables. Lesson C Objectives. Joining Multiple Tables

Using SQL Queries to Insert, Update, Delete, and View Data: Joining Multiple Tables Wednesay 9/24/2014 Abdou Illia MIS 4200 - Fall 2014 Lesson C Objectives After completing this lesson, you should be able

Using Subqueries to Solve Queries Objectives After completing this lesson, you should be able to do the following: Define subqueries Describe the types of problems that subqueries can solve List the types

Retrieving Data Using the SQL SELECT Statement Objectives After completing this lesson, you should be able to do the following: List the capabilities of SQL SELECT statements Execute a basic SELECT statement

### Relational Algebra. Query Languages Review. Operators. Select (σ), Project (π), Union ( ), Difference (-), Join: Natural (*) and Theta ( )

Query Languages Review Relational Algebra SQL Set operators Union Intersection Difference Cartesian product Relational Algebra Operators Relational operators Selection Projection Join Division Douglas

### Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

D80198GC10 Oracle Database 12c SQL and Fundamentals Summary Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff Level Professional Delivery Method Instructor-led

### Deriving Application Level Relationships by Analysing the Run Time Behaviour of Simple and Complex SQL Queries

Deriving Application Level Relationships by Analysing the Run Time Behaviour of Simple and Complex SQL Queries GIRISH SUNDARAM Technical Solution Architect IBM India Software Labs Email: gisundar@in.ibm.com

### SQL> SELECT ename, job, sal Salary. 1.4.Will the SELECT statement execute successfully? True/False

BASES DE DATOS Ingeniería Técnica Informática Asignatura Obligatoria: 4.5 + 4.5 créditos (Segundo cuatrimestre) Curso académico 2000/2002 Relación de Ejercicios Prácticos TEMA 1. MANDATO SELECT BÁSICO

### SQL Tuning Proven Methodologies

SQL Tuning Proven Methodologies V.Hariharaputhran V.Hariharaputhran o Twelve years in Oracle Development / DBA / Big Data / Cloud Technologies o All India Oracle Users Group (AIOUG) Evangelist o Passion

Restricting and Sorting Data Objectives After completing this lesson, you should be able to do the following: Limit the rows that are retrieved by a query Sort the rows that are retrieved by a query Use

### Appendix A Practices and Solutions

Appendix A Practices and Solutions Table of Contents Practices for Lesson I... 3 Practice I-1: Introduction... 4 Practice Solutions I-1: Introduction... 5 Practices for Lesson 1... 11 Practice 1-1: Retrieving

### SQL*Plus. User s Guide and Reference. Release September 2000 Part No. A

SQL*Plus User s Guide and Reference Release 8.1.7 September 2000 Part No. A82950-01 SQL*Plus User s Guide and Reference, Release 8.1.7 Part No. A82950-01 Copyright 1996, 2000, Oracle Corporation. All rights

### The Power of DECODE()

The Power of DECODE() Doug Burns Note - this document discusses the use of the DECODE function to develop more efficient SQL queries. However, if you're using Oracle 8.1.6 or greater, you should really

### Maximizing Materialized Views

Maximizing Materialized Views John Jay King King Training Resources john@kingtraining.com Download this paper and code examples from: http://www.kingtraining.com 1 Session Objectives Learn how to create

### Relational Database: Additional Operations on Relations; SQL

Relational Database: Additional Operations on Relations; SQL Greg Plaxton Theory in Programming Practice, Fall 2005 Department of Computer Science University of Texas at Austin Overview The course packet

### ISO6 Relational Databases

ISO6 Relational Databases Simon Booth Email s.p.booth@stir.ac.uk Room Library S6 Tel: 7247 Course Aims Develop a basic proficiency in A relational database environment The SQL database language Oracle

### D B M G Data Base and Data Mining Group of Politecnico di Torino

Politecnico di Torino Database Management System Oracle Hints Data Base and Data Mining Group of Politecnico di Torino Tania Cerquitelli Computer Engineering, 2014-2015, slides by Tania Cerquitelli and

### Oracle 12c New Features For Developers

Oracle 12c New Features For Developers Presented by: John Jay King Download this paper from: 1 Session Objectives Learn new Oracle 12c features that are geared to developers Know how existing database

### SQL*Plus User s Guide and Reference

SQL*Plus User s Guide and Reference Release 8.0 Part No. A53717 01 Enabling the Information Age SQL*Plus User s Guide and Reference, Release 8.0 Part No. A53717 01 Copyright 1997 Oracle Corporation All

### Query Optimization in Oracle Database10g Release 2. An Oracle White Paper June 2005

Query Optimization in Oracle Database10g Release 2 An Oracle White Paper June 2005 Query Optimization in Oracle Database 10g Release 2 Executive Overview...4 Introduction...4 What is a query optimizer?...4

### D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led

### Information Systems SQL. Nikolaj Popov

Information Systems SQL Nikolaj Popov Research Institute for Symbolic Computation Johannes Kepler University of Linz, Austria popov@risc.uni-linz.ac.at Outline SQL Table Creation Populating and Modifying

### Page 2 of 5 3 ORDER BY hire_date DESC; Names, Numbers, and Arrangements Your ORDER BY clause does not need to explicitly name the column(s) by which y

Page 1 of 5 Welcome Brendan ( Account Help Sign Out ) United States Communities I am a... I want to... Secure Search Products and Services Solutions Downloads Store Support Training Partners About Oracle

### Presentation of database relational schema (schema 1) Create Universe step by step

Presentation of database relational schema (schema 1) Create Universe step by step The steps are as follows : 1 Create Oracle schema 2 Connect with administration module 3 Create repository 4 Create universe

### Semantic Errors in SQL Queries: A Quite Complete List

Semantic Errors in SQL Queries: A Quite Complete List Stefan Brass Christian Goldberg Martin-Luther-Universität Halle-Wittenberg, D-06099 Halle (Saale), Germany (brass goldberg)@informatik.uni-halle.de

### Using Multiple Operations. Implementing Table Operations Using Structured Query Language (SQL)

Copyright 2000-2001, University of Washington Using Multiple Operations Implementing Table Operations Using Structured Query Language (SQL) The implementation of table operations in relational database

### Recursive SQL from a Performance Perspective

Recursive SQL from a Performance Perspective par Thomas Baumann La Mobilière Réunion du Guide DB2 pour z/os France Vendredi 27 novembre 2009 Tour Euro Plaza, Paris-La Défense Agenda What Is Recursive SQL?

### DECLARATION SECTION. BODY STATEMENTS... Required

1 EXCEPTION DECLARATION SECTION Optional BODY STATEMENTS... Required STATEMENTS Optional The above Construction is called PL/SQL BLOCK DATATYPES 2 Binary Integer (-2 **31-1,2**31+1) signed integer fastest

### SQL JOINs and VIEWs. Chapter 3.3 V3.0. Copyright @ Napier University Dr Gordon Russell

SQL JOINs and VIEWs Chapter 3.3 V3.0 Copyright @ Napier University Dr Gordon Russell Multiple source tables Using more than a single table of a database is usually essential. The basic form is just to

### Implementing Table Operations Using Structured Query Language (SQL) Remember Operations On Tables The ability to construct tables from other tables.

Implementing Table Operations Using Structured Query Language (SQL) The implementation of table operations in relational database management systems is done through use of SQL, or Structured Query Language,

### Unit 10: Microsoft Access Queries

Microsoft Access Queries Unit 10: Microsoft Access Queries Introduction Queries are a fundamental means of accessing and displaying data from tables. Queries used to view, update, and analyze data in different

### SQL Queries. CS 377: Database Systems

SQL Queries CS 377: Database Systems SQL Outline Data definition Database Creation Table Creation Query (SELECT) Data update (INSERT, DELETE, UPDATE) View definition Basic SQL Retrieval Query Basic form

### Writing Control Structures

Writing Control Structures Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 5-1 Objectives After completing this lesson, you should be able to do the following: Identify

### Introduction to tuple calculus Tore Risch 2011-02-03

Introduction to tuple calculus Tore Risch 2011-02-03 The relational data model is based on considering normalized tables as mathematical relationships. Powerful query languages can be defined over such

### Unit 3. Retrieving Data from Multiple Tables

Unit 3. Retrieving Data from Multiple Tables What This Unit Is About How to retrieve columns from more than one table or view. What You Should Be Able to Do Retrieve data from more than one table or view.

### Oracle Data Dictionary

Oracle Data Dictionary The Oracle data dictionary is one of the most important components of the Oracle DBMS. It contains all information about the structures and objects of the database such as tables,

### Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Outline More Complex SQL Retrieval Queries

### There are five fields or columns, with names and types as shown above.

3 THE RELATIONAL MODEL Exercise 3.1 Define the following terms: relation schema, relational database schema, domain, attribute, attribute domain, relation instance, relation cardinality, andrelation degree.

### Database Design and Programming with SQL: Part 2 Learning Objectives

Database Design and Programming with SQL: Part 2 Learning Objectives This is the second portion of the Database Design and Programming with SQL course. In this portion, students implement their database

### Assignment 3: SQL Queries. Questions 1. The following relations keep track of airline flight information:

Database Systems Instructors: Hao-Hua Chu Winston Hsu Fall Semester, 2007 Assignment 3: SQL Queries Questions 1. The following relations keep track of airline flight information: Flightsflno: integer,

### Lecture Slides 4. SQL Summary. presented by Timothy Heron. Indexes. Creating an index. Mathematical functions, for single values and groups of values.

CS252: Fundamentals of Relational Databases 1 CS252: Fundamentals of Relational Databases Lecture Slides 4 presented by Timothy Heron SQL Summary Mathematical functions, for single values and groups of

### Fine Tune Oracle Execution Plans for Performance Gains. Janis Griffin Senior DBA

Fine Tune Oracle Execution Plans for Performance Gains Janis Griffin Senior DBA 1 Who Am I? Senior DBA for Confio Software JanisGriffin@confio.com @DoBoutAnything Current - 24+ Years in Oracle Former Database

### University of Massachusetts Amherst Department of Computer Science Prof. Yanlei Diao

University of Massachusetts Amherst Department of Computer Science Prof. Yanlei Diao CMPSCI 445 Midterm Practice Questions NAME: LOGIN: Write all of your answers directly on this paper. Be sure to clearly

### SECTION 3 LESSON 1. Destinations: What s in My Future?

SECTION 3 LESSON 1 Destinations: What s in My Future? What Will I Learn? In this lesson, you will learn to: Document a plan where training/education can be obtained to pursue career choices Formulate a

### Top 25+ DB2 SQL Tuning Tips for Developers. Presented by Tony Andrews, Themis Inc. tandrews@themisinc.com

Top 25+ DB2 SQL Tuning Tips for Developers Presented by Tony Andrews, Themis Inc. tandrews@themisinc.com Objectives By the end of this presentation, developers should be able to: Understand what SQL Optimization

### A basic create statement for a simple student table would look like the following.

Creating Tables A basic create statement for a simple student table would look like the following. create table Student (SID varchar(10), FirstName varchar(30), LastName varchar(30), EmailAddress varchar(30));

### Define terms Write single and multiple table SQL queries Write noncorrelated and correlated subqueries Define and use three types of joins

Chapter 7 Advanced SQL 1 Define terms Objectives Write single and multiple table SQL queries Write noncorrelated and correlated subqueries Define and use three types of joins 2 Nested Queries (Subqueries)

### Programming with SQL

Unit 43: Programming with SQL Learning Outcomes A candidate following a programme of learning leading to this unit will be able to: Create queries to retrieve information from relational databases using

### SQL SELECT Query: Intermediate

SQL SELECT Query: Intermediate IT 4153 Advanced Database J.G. Zheng Spring 2012 Overview SQL Select Expression Alias revisit Aggregate functions - complete Table join - complete Sub-query in where Limiting

### P.G.D.C.M. (Semester I) Examination, : PROGRAMMING USING VISUAL BASIC (2008 Pattern)

*3989102* [3989] 102 P.G.D.C.M. (Semester I) Examination, 2011 102 : PROGRAMMING USING VISUAL BASIC (2008 Pattern) Time : 3 Hours Max. Marks : 70 Note: 1)All questions are compulsory. 2) Figures to the

### Detecting Semantic Errors in SQL Queries

Detecting Semantic Errors in SQL Queries Stefan Brass, Christian Goldberg, and Alexander Hinneburg Martin-Luther-Universität Halle-Wittenberg, Institut für Informatik, Von-Seckendorff-Platz 1, D-06099

### Database Programming with PL/SQL: Learning Objectives

Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs

### AN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C. Y. Associates

AN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C Y Associates Abstract This tutorial will introduce the SQL (Structured Query Language) procedure through a series of simple examples We will initially

### More SQL: Complex Queries. This chapter describes more advanced features of the SQL language standard for relational databases.

More SQL: Complex Queries This chapter describes more advanced features of the SQL language standard for relational databases. 5.1 More Complex SQL Retrieval Queries Because of the generality and expressive

### Microsoft Access Lesson 5: Structured Query Language (SQL)

Microsoft Access Lesson 5: Structured Query Language (SQL) Structured Query Language (pronounced S.Q.L. or sequel ) is a standard computing language for retrieving information from and manipulating databases.

### SQL Simple Queries. Chapter 3.1 V3.0. Copyright @ Napier University Dr Gordon Russell

SQL Simple Queries Chapter 3.1 V3.0 Copyright @ Napier University Dr Gordon Russell Introduction SQL is the Structured Query Language It is used to interact with the DBMS SQL can Create Schemas in the

### SQL*Plus. User s Guide and Reference. Release October, 1999 Part No. A

SQL*Plus User s Guide and Reference Release 8.1.6 October, 1999 Part No. A75664-01 SQL*Plus User s Guide and Reference, Release 8.1.6 Part No. A75664-01 Copyright 1996, 1999, Oracle Corporation. All rights

Managing Objects with Data Dictionary Views Objectives After completing this lesson, you should be able to do the following: Use the data dictionary views to research data on your objects Query various

### Contents. Introduction to MySQL Create a table Specify keys and relations Empty and Drop tables. CSCU9Q5 Introduction to MySQL.

Contents CSCU9Q5 Introduction to MySQL Data Definition & Manipulation (Over ~two Lectures) Introduction to MySQL Create a table Specify keys and relations Empty and Drop tables 1 2 Introduction Online

### Lecture 2: Part I. Integrity Rules: Applicable to All Databases. Integrity Rules. Key constraint Entity integrity Referential integrity

Lecture 2: Part I Integrity Rules Relational integrity rules 1 Integrity Rules: Applicable to a Particular Database E.G. An employee s salary must be in the range \$30,000 to \$100,000. See section 8.6 Elmasri

### Mini User's Guide for SQL*Plus T. J. Teorey

Mini User's Guide for SQL*Plus T. J. Teorey Table of Contents Oracle/logging-in 1 Nested subqueries 5 SQL create table/naming rules 2 Complex functions 6 Update commands 3 Save a query/perm table 6 Select

### 1Z0-007 Introduction to Oracle9i: SQL

1Z0-007 Introduction to Oracle9i: SQL Oracle 1Z0-007 Study Guide 2006 Self Test Software, a Kaplan IT Company. All rights reserved. No part of this study guide may be used or reproduced in any manner whatsoever

### In this Lecture SQL SELECT. Example Tables. SQL SELECT Overview. WHERE Clauses. DISTINCT and ALL SQL SELECT. For more information

In this Lecture SQL SELECT Database Systems Lecture 7 Natasha Alechina SQL SELECT WHERE clauses SELECT from multiple tables JOINs For more information Connolly and Begg Chapter 5 Ullman and Widom Chapter

### Oracle SQL 10g. Oracle Technologies SQL 10G Practice. Objectives

Oracle SQL 10g Oracle Technologies SQL 10G Practice Objectives Structured Query Language Basic Orders Functions in SQL Retrieving Data from Several Tables Advanced Retrieval Manipulating Data Creating

### 1. SELECT DISTINCT f.fname FROM Faculty f, Class c WHERE f.fid = c.fid AND c.room = LWSN1106

Database schema: Department(deptid, dname, location) Student(snum, sname, deptid, slevel, age) Faculty(fid, fname, deptid) Class(cname, time, room, fid) Enrolled(snum, cname) SQL queries: 1. Get the names