SQL queries II. Set operations and joins
|
|
- Amos Fisher
- 5 years ago
- Views:
Transcription
1 SQL queries II Set operations and joins
2 1. Restrictions on aggregation functions 2. Nulls in aggregates 3. Duplicate elimination in aggregates REFRESHER
3 1. Restriction on SELECT with aggregation If any aggregation is used, then each element of the SELECT column list must be either: 1. Aggregated, or 2. An attribute on the GROUP BY list.
4 Illegal Query Example We might think we could find the shortest movie of Disney as: SELECT title, MIN(length) FROM Movie WHERE studioname = 'Disney'; But this query is illegal in SQL. Because title is neither aggregated nor on the GROUP BY list. We should do instead: SELECT title, length FROM Movie WHERE studioname = 'Disney' AND length = (SELECT MIN(length) FROM Movie WHERE studioname = 'Disney'); 4
5 Or SELECT title, length FROM Movie NATURAL JOIN (SELECT MIN(length) AS length FROM Movie WHERE studioname = 'Disney') WHERE studioname = 'Disney'; 5
6 2. NULL s Ignored in Aggregation NULL never contributes to a sum, average, or count, and can never be the minimum or maximum of a column. SELECT SUM(networth) FROM moviestar NATURAL FULL OUTER JOIN movieexec; But if there are no non-null values in a column, then the result of the aggregation is NULL. 6
7 Example: Effect of NULL s SELECT count(*) FROM Movie WHERE studioname = 'Disney'; The number of movies from Disney. SELECT count(length) FROM Movie WHERE studioname = 'Disney'; The number of movies from Disney with a known length. 7
8 Useful 3. Duplicate Elimination Find all the different studios producing movies: Movie(title, year, length, incolor, studioname, producerc), SELECT DISTINCT studioname FROM Movie; Without DISTINCT, a studioname would be listed as many times as there were movies from that studio.
9 Eliminating Duplicates in an Aggregation DISTINCT inside an aggregation causes duplicates to be eliminated before the aggregation. Example Find the number of different producers for Disney movies. SELECT COUNT(DISTINCT producerc) FROM Movie WHERE studioname = 'Disney'; This is not the same as: DISTINCT here is useless! Why? SELECT DISTINCT COUNT(producerc) FROM Movie WHERE studioname = 'Disney'; 9
10 Not only in COUNT SELECT AVG(DISTINCT length) FROM Movie WHERE studioname = 'Disney'; This will produce the average of only the distinct values for length: probably an error 10
11 Today Operations on multiple tables Set operations Joins
12 UNION, INERSECT, MINUS (EXCEPT)
13 Bag Semantics and Union, Intersection and Difference Although the SELECT-FROM-WHERE statement uses bag semantics, the default for union, intersection, and difference is set semantics. Motivation? When doing projection in relational algebra, it is harder to eliminate duplicates. When doing intersection or difference, it is most efficient to sort the relations first. At that point you may as well eliminate the duplicates anyway. 13
14 Can we produce bags by set operators? Force the result to be a bag (i.e., don t eliminate duplicates) by ALL, as in UNION ALL... Only UNION ALL supported in ORACLE. 14
15 Union, Intersection, and Difference of Queries If two SQL queries produce relations with the same set of attributes then we can combine the queries using the set operations: UNION, INTERSECT and EXCEPT. 1. Find the names and addresses of all female movie stars who are also movie executives with a net worth over $1,000,000. MovieStar(name, address, gender, birthdate) MovieExec(name, address, cert, networth) (SELECT name, address FROM MovieStar WHERE gender = 'F') INTERSECT (SELECT name, address FROM MovieExec WHERE networth > );
16 Union, Intersection, and Difference of Queries (Continued) 2. Give the names and addresses of movie stars who are not also movie executives. (SELECT name, address FROM MovieStar) MINUS (SELECT name, address FROM MovieExec); Oracle-specific Example. 3. We want all the titles and years of movies that appeared in either the Movie or StarsIn relation. (SELECT title, year FROM Movie) UNION (SELECT title, year FROM StarsIn);
17 JOINS
18 Cartesian product Results from multi-table query that does not have a WHERE clause is a Cartesian product The product results in a huge output which normally is not very useful To avoid a Cartesian product, we use one or more valid join conditions
19 Joins Natural join: R NATURAL JOIN S Example SELECT * FROM MovieStar NATURAL JOIN MovieExec; Safer: SELECT * FROM MovieStar JOIN MovieExec USING(name); Theta join: R JOIN S ON <condition> Example SELECT * FROM MovieStar JOIN MovieExec ON moviestar.name = movieexec.name;
20 Multiple joins are required to collect information from multiple tables Movie ( title, year, length, incolor, studioname, producerc) MovieStar (name, address, gender, birthdate) StarsIn (movietitle, movieyear, starname) MovieExec (name, address, cert, networth) Studio (studioname, presc); Select m.title as MovieTitle, m.year AS MovieYear, p.name AS producer, s.starname AS star From Movie m, StarsIn s, MovieExec p Where m.title = s.title AND m.year = s.year AND p.cert = m.producerc
21 Outerjoin. Motivation Suppose we join R S. A tuple of R which doesn't join with any tuple of S is said to be dangling. Similarly for a tuple of S. Problem: We loose dangling tuples. Outerjoin Preserves dangling tuples by padding them with a NULL in the result. 21
22 Types of outer join R S Full outerjoin. Pad dangling tuples from both tables. R L S Left outerjoin: Only pad dangling tuples from the left table. R R S Right outerjoin: Only pad dangling tuples from the right table. 22
23 Full Outer Join: R S R = A B S = B C (1,2) joins with (2,3), but the other two tuples are dangling. R S = A B C NULL NULL
24 Left Outer Join: R L S R = A B S = B C The result of a left outer join (or simply left join) for table A and B always contains all records of the "left" table (A), even if the join-condition does not find any matching record in the "right" table (B). R L S = A B C NULL 24
25 Right Outer Join: R R S R = A B S = B C A right outer join (or right join) closely resembles a left outer join, except with the treatment of the tables reversed. Every row from the "right" table (B) will appear in the joined table at least once. R R S = A B C NULL
26 Example: Outerjoin R = A B S = B C (1,2) joins with (2,3), but the other two tuples are dangling. R S = A B C NULL NULL 6 7 SELECT * FROM R FULL OUTER JOIN S USING(B);
27 SELECT * Outerjoin examples FROM moviestar NATURAL FULL OUTER JOIN movieexec; SELECT * FROM moviestar NATURAL LEFT OUTER JOIN movieexec; SELECT * FROM moviestar NATURAL RIGHT OUTER JOIN movieexec; LEFT = pad dangling tuples of moviestar only. RIGHT = pad dangling tuples of movieexec only. FULL = pad both.
28 Joins with grouping operators From Movie and MovieExec, find the producer s total length of film produced: SELECT name, SUM(length) FROM Movie, MovieExec WHERE producerc = cert GROUP BY name; Compute those tuples first, then group by name. 28
29 SUBQUERIES OR JOINS?
30 Example 1 Find the name of the producer of Star Wars. Movie(title, year, length, incolor, studioname, producerc) MovieExec(name, address, cert, networth) We can do: SELECT name FROM Movie, MovieExec WHERE title ='Star Wars' AND producerc =cert; Or we can have a subquery: SELECT name FROM MovieExec WHERE cert =(SELECT producerc FROM Movie WHERE title = 'Star Wars'); If we can deduce that there will be only a single value produced by the subquery, then we can use this expression, surrounded by parentheses, as if it were a constant. 30
31 Example 2. Correlated Subqueries Suppose StarsIn relation has an additional attribute salary StarsIn(movieTitle, movieyear, starname, salary) Now, find the stars who were paid for some movie more than the average salary for that movie. SELECT starname, movietitle, movieyear FROM StarsIn X WHERE salary > (SELECT AVG(salary) FROM StarsIn WHERE movietitle = X.movieTitle AND movieyear=x.movieyear); Remarks 1. Outer query cannot reference any columns in the subquery. 2. Subquery references the tuple in the outer query. 3. Value of the tuple changes by row of the outer query, so the database must rerun the subquery for each row comparison. 31
32 Another Solution (Subquery in FROM) SELECT X.starName, X.movieTitle, X.movieYear FROM StarsIn X, (SELECT movietitle, movieyear, AVG(salary) AS avgsalary FROM StarsIn GROUP BY movietitle, movieyear) Y WHERE X.salary>Y.avgSalary AND X.movieTitle=Y.movieTitle AND X.movieYear=Y.movieYear; 32
33 Example 3. Join multiple tables Give all the producers of movies in which Julia Roberts stars. SELECT name FROM MovieExec, Movie, StarsIn WHERE cert = producerc AND title = movietitle AND year = movie Year AND starname = 'Julia Roberts'; 33
34 Using subqueries Give all the producers of movies in which Julia Roberts stars. SELECT name FROM MovieExec WHERE cert IN (SELECT producerc FROM Movie WHERE (title, year) IN (SELECT movietitle, movieyear FROM StarsIn WHERE starname = 'Julia Roberts')); 34
35 Movies EXERCISES
36 Movie ( title, year, length, incolor, studioname, producerc) MovieStar (name, address, gender, birthdate) StarsIn (movietitle, movieyear, starname) MovieExec (name, address, cert, networth) 1. For each movie s title produce the name of this movie s producer 2. Find the names of all producers who did NOT produce Star wars
37 3. Find titles of movies that were produced by the same producer but in different studios: Disney and MGM
38 4. Find all movie titles for which there is no producer entry in MovieExec table
39 5. Find the distinct names of producers of movies where Harrison Ford starred without using distinct
40 6. Find the names of all stars which starred in at least 3 movies (according to our database)
41 1. For each movie s title produce the name of this movie s producer SELECT title AS movie, name AS producer FROM Movie, MovieExec WHERE Movie.producerC = MovieExec.cert; 2. Find the names of all producers who did NOT produce Star wars SELECT name FROM Movie, MovieExec WHERE title = 'Star Wars' AND producerc <> cert;
42 3. Find titles of movies that were produced by the same producer but in different studios: Disney and MGM SELECT DisneyMovie.title, MGMmovie.title FROM (SELECT * FROM Movie WHERE studioname = 'Disney') DisneyMovie, (SELECT * FROM Movie WHERE studioname = 'MGM') MGMmovie WHERE DisneyMovie.producerC = MGMmovie.producerC;
43 4. Find all movie titles for which there is no producer entry in MovieExec table SELECT title FROM Movie WHERE producerc <> ALL (SELECT cert FROM MovieExec); --- <> ALL is the same as NOT IN TITLE Pretty Woman The Man Who Wasn't There Logan's run Star Trek Star Trek: Nemesis The Usual Suspects 6 rows selected.
44 5. Find the distinct names of producers of movies where Harrison Ford starred without using distinct SELECT name FROM MovieExec WHERE cert IN (SELECT producerc FROM Movie WHERE (title, year) IN (SELECT MovieTitle, MovieYear FROM StarsIn WHERE StarName = 'Harrison Ford')); NAME George Lucas
45 6. Find the names of all stars which starred in at least 3 movies (according to our database) SELECT StarName FROM StarsIn Star1 WHERE 2 < (SELECT count(starname) FROM StarsIn Star2 WHERE Star2.MovieTitle = Star1.MovieTitle AND Star2.MovieYear = Star1.MovieYear); -- Correlated subqueries: STARNAME Carrie Fisher Mark Hamill Harrison Ford
46 Bonus: TOP-N analysis Top-N queries are used to sort rows in a table and then to find the first-m largest (smallest) values The sorted rows produced with ORDER BY clause are numbered with pseudocolumn ROWNUM You can display the required number of rows based on ROWNUM and using < or <= operators
47 Example: TOP-4 largest rooms SELECT rownum, Building, RoomNo, Capacity FROM (SELECT Building, RoomNo, Capacity FROM location ORDER BY Capacity DESC) WHERE rownum <=4;
48 Example: TOP-3 lowest salaries SELECT rownum, Lname, Fname, Salary FROM (SELECT Lname, Fname, Salary FROM employee ORDER BY Salary) WHERE rownum <=3;
49 Example: correlated subquery The inner (nested) query can reference columns from the outer query The inner query is executed once for each row of the outer query, while in non-correlated subqueries the inner query was executed only once SELECT EmpID, Salary, DeptID FROM employee outer WHERE Salary = (SELECT MAX (Salary) FROM employee WHERE DeptID = outer.deptid GROUP BY DeptID) Employees with maximum salary in their own department
50 Example: correlated subquery with EXISTS EXISTS (NOT EXISTS) are used with correlated subqueries The EXISTS operator checks if the inner query returns at least one row, and it returns TRUE or FALSE SELECT FacultyID, Name FROM faculty outer WHERE EXISTS (SELECT 1 FROM student WHERE FacultyID = outer. FacultyID); All Faculty members who are in the Student table
AC61/AT61 DATABASE MANAGEMENT SYSTEMS DEC 2013
Q.2 a. Define the following terms giving examples for each of them: Entity, attribute, role and relationship between the entities b. Describe any four main functions of a database administrator. c. What
More informationInformation Systems for Engineers. Exercise 10. ETH Zurich, Fall Semester Hand-out Due
Information Systems for Engineers Exercise 10 ETH Zurich, Fall Semester 2017 Hand-out 08.12.2017 Due 15.12.2017 1. (Exercise 8.1.1 in [1]) Movies(title, year, length, genre, studioname, producercertnumber)
More informationRelational Algebra. Spring 2012 Instructor: Hassan Khosravi
Relational Algebra Spring 2012 Instructor: Hassan Khosravi Querying relational databases Lecture given by Dr. Widom on querying Relational Models 2.2 2.1 An Overview of Data Models 2.1.1 What is a Data
More informationData Definition Language (DDL), Views and Indexes Instructor: Shel Finkelstein
Data Definition Language (DDL), Views and Indexes Instructor: Shel Finkelstein Reference: A First Course in Database Systems, 3 rd edition, Chapter 2.3 and 8.1-8.4 Important Notices Reminder: Midterm is
More informationJoins, NULL, and Aggregation
Joins, NULL, and Aggregation FCDB 6.3 6.4 Dr. Chris Mayfield Department of Computer Science James Madison University Jan 29, 2018 Announcements 1. Your proposal is due Friday in class Each group brings
More informationInformation Systems Engineering. SQL Structured Query Language DML Data Manipulation (sub)language
Information Systems Engineering SQL Structured Query Language DML Data Manipulation (sub)language 1 DML SQL subset for data manipulation (DML) includes four main operations SELECT - used for querying a
More informationSet Operations, Union
Set Operations, Union The common set operations, union, intersection, and difference, are available in SQL. The relation operands must be compatible in the sense that they have the same attributes (same
More informationDatabase Modifications and Transactions
Database Modifications and Transactions FCDB 6.5 6.6 Dr. Chris Mayfield Department of Computer Science James Madison University Jan 31, 2018 pgadmin from home (the easy way) 1. Connect to JMU s network
More informationMidterm 1 157A Fall /22
Midterm 1 157A Fall 2012 10/22 Class-id Name Part III Describe your contribution in the team project before mid night today. Part I Questions and Answers (10 pts EACH) 1. (DB3) Please write SQL for (a)
More informationAlgebraic laws extensions to relational algebra
Today: Query optimization. Algebraic laws extensions to relational algebra for select-distinct, grouping. Soon: Estimating costs. Algorithms for computing joins, other operations. 1 Query Optimization
More informationDatabase Systems Architecture. Stijn Vansummeren
Database Systems Architecture Stijn Vansummeren 1 General Course Information Objective: To obtain insight into the internal operation and implementation of systems designed to manage and process large
More informationCS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen
CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen LECTURE 10: INTRODUCTION TO SQL FULL RELATIONAL OPERATIONS MODIFICATION LANGUAGE Union, Intersection, Differences (select
More informationCOMP102: Introduction to Databases, 5 & 6
COMP102: Introduction to Databases, 5 & 6 Dr Muhammad Sulaiman Khan Department of Computer Science University of Liverpool U.K. 8/11 February, 2011 Introduction: SQL, part 2 Specific topics for today:
More informationQuerying Data with Transact SQL
Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including
More informationRelational Model, Key Constraints
Relational Model, Key Constraints PDBM 6.1 Dr. Chris Mayfield Department of Computer Science James Madison University Jan 23, 2019 What is a data model? Notation for describing data or information Structure
More informationThe Extended Algebra. Duplicate Elimination. Sorting. Example: Duplicate Elimination
The Extended Algebra Duplicate Elimination 2 δ = eliminate duplicates from bags. τ = sort tuples. γ = grouping and aggregation. Outerjoin : avoids dangling tuples = tuples that do not join with anything.
More informationDatabase Design and Programming
Database Design and Programming Jan Baumbach jan.baumbach@imada.sdu.dk http://www.baumbachlab.net Example: EXISTS Set of beers with the same manf as b1, but not the same beer SELECT name FROM Beers b1
More informationSubqueries. Must use a tuple-variable to name tuples of the result
Subqueries A parenthesized SELECT-FROM-WHERE statement (subquery) can be used as a value in a number of places, including FROM and WHERE clauses Example: in place of a relation in the FROM clause, we can
More information5.2 E xtended Operators of R elational Algebra
5.2. EXTENDED OPERATORS OF RELATIONAL ALG EBRA 213 i)
More informationA subquery is a nested query inserted inside a large query Generally occurs with select, from, where Also known as inner query or inner select,
Sub queries A subquery is a nested query inserted inside a large query Generally occurs with select, from, where Also known as inner query or inner select, Result of the inner query is passed to the main
More informationAsst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa
ICS 321 Spring 2011 Constraints, Triggers, Views & Indexes Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 04/04/2011 Lipyeow Lim -- University of Hawaii
More informationMore SQL. Extended Relational Algebra Outerjoins, Grouping/Aggregation Insert/Delete/Update
More SQL Extended Relational Algebra Outerjoins, Grouping/Aggregation Insert/Delete/Update 1 The Extended Algebra δ = eliminate duplicates from bags. τ = sort tuples. γ = grouping and aggregation. Outerjoin
More informationWhy SQL? SQL is a very-high-level language. Database management system figures out best way to execute query
Basic SQL Queries 1 Why SQL? SQL is a very-high-level language Say what to do rather than how to do it Avoid a lot of data-manipulation details needed in procedural languages like C++ or Java Database
More informationSQL Data Manipulation Language. Lecture 5. Introduction to SQL language. Last updated: December 10, 2014
Lecture 5 Last updated: December 10, 2014 Throrought this lecture we will use the following database diagram Inserting rows I The INSERT INTO statement enables inserting new rows into a table. The basic
More informationQuery Processing & Optimization. CS 377: Database Systems
Query Processing & Optimization CS 377: Database Systems Recap: File Organization & Indexing Physical level support for data retrieval File organization: ordered or sequential file to find items using
More informationQuerying Data with Transact-SQL
Querying Data with Transact-SQL Course: 20761 Course Details Audience(s): IT Professional(s) Technology: Microsoft SQL Server 2016 Duration: 24 HRs. ABOUT THIS COURSE This course is designed to introduce
More informationChapter 6 The database Language SQL as a tutorial
Chapter 6 The database Language SQL as a tutorial About SQL SQL is a standard database language, adopted by many commercial systems. ANSI SQL, SQL-92 or SQL2, SQL99 or SQL3 extends SQL2 with objectrelational
More informationLab # 6. Using Subqueries and Set Operators. Eng. Alaa O Shama
The Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4113: Database Lab Lab # 6 Using Subqueries and Set Operators Eng. Alaa O Shama November, 2015 Objectives:
More informationInstructor: Amol Deshpande
Instructor: Amol Deshpande amol@cs.umd.edu Data Models Conceptual representa8on of the data Data Retrieval How to ask ques8ons of the database How to answer those ques8ons Data Storage How/where to store
More informationEXTENDED RELATIONAL ALGEBRA OUTERJOINS, GROUPING/AGGREGATION INSERT/DELETE/UPDATE
More SQL EXTENDED RELATIONAL ALGEBRA OUTERJOINS, GROUPING/AGGREGATION INSERT/DELETE/UPDATE 1 The Extended Algebra δ = eliminate duplicates from bags. τ = sort tuples. γ = grouping and aggregation. Outerjoin
More informationNiklas Fors The Relational Data Model 1 / 17
The Relational Data Model From Entity Sets to Relations From Relationships to Relations Combining Relations Weak Entity Sets Relationships With Attributes Subclasses Niklas Fors (niklas.fors@cs.lth.se)
More informationIn This Lecture. Yet More SQL SELECT ORDER BY. SQL SELECT Overview. ORDER BY Example. ORDER BY Example. Yet more SQL
In This Lecture Yet More SQL Database Systems Lecture 9 Natasha Alechina Yet more SQL ORDER BY Aggregate functions and HAVING etc. For more information Connoly and Begg Chapter 5 Ullman and Widom Chapter
More informationQuerying Data with Transact-SQL
Course 20761A: Querying Data with Transact-SQL Page 1 of 5 Querying Data with Transact-SQL Course 20761A: 2 days; Instructor-Led Introduction The main purpose of this 2 day instructor led course is to
More informationProgramming and Database Fundamentals for Data Scientists
Programming and Database Fundamentals for Data Scientists Database Fundamentals Varun Chandola School of Engineering and Applied Sciences State University of New York at Buffalo Buffalo, NY, USA chandola@buffalo.edu
More information1. Given the name of a movie studio, find the net worth of its president.
1. Given the name of a movie studio, find the net worth of its president. CREATE FUNCTION GetNetWorth( studio VARCHAR(30) ) RETURNS DECIMAL(9,3) DECLARE worth DECIMAL(9,3); SELECT networth INTO worth FROM
More informationThe Relational Algebra
The Relational Algebra Relational Algebra Relational algebra is the basic set of operations for the relational model These operations enable a user to specify basic retrieval requests (or queries) 27-Jan-14
More informationDatabase Systems CSE 303. Outline. Lecture 06: SQL. What is Sub-query? Sub-query in WHERE clause Subquery
Database Systems CSE 303 Lecture 06: SQL 2016 Subquery Outline What is a Subquery Subquery in WHERE clause >ALL, >ANY, >=ALL,
More informationQuerying Data with Transact SQL Microsoft Official Curriculum (MOC 20761)
Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761) Course Length: 3 days Course Delivery: Traditional Classroom Online Live MOC on Demand Course Overview The main purpose of this
More informationMANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 6 Professional Program: Data Administration and Management MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) AGENDA
More informationRelational Algebra. B term 2004: lecture 10, 11
Relational lgebra term 00: lecture 0, Nov, 00 asics Relational lgebra is defined on bags, rather than relations. ag or multiset allows duplicate values; but order is not significant. We can write an expression
More informationNESTED QUERIES AND AGGREGATION CHAPTER 5 (6/E) CHAPTER 8 (5/E)
1 NESTED QUERIES AND AGGREGATION CHAPTER 5 (6/E) CHAPTER 8 (5/E) 2 LECTURE OUTLINE More Complex SQL Retrieval Queries Self-Joins Renaming Attributes and Results Grouping, Aggregation, and Group Filtering
More informationMissing Information. We ve assumed every tuple has a value for every attribute. But sometimes information is missing. Two common scenarios:
NULL values Missing Information We ve assumed every tuple has a value for every attribute. But sometimes information is missing. Two common scenarios: Missing value. E.g., we know a student has some email
More informationOptimization of logical query plans Eliminating redundant joins
Optimization of logical query plans Eliminating redundant joins 66 Optimization of logical query plans Query Compiler Execution Engine SQL Translation Logical query plan "Intermediate code" Logical plan
More informationSimple SQL Queries (contd.)
Simple SQL Queries (contd.) Example of a simple query on one relation Query 0: Retrieve the birthdate and address of the employee whose name is 'John B. Smith'. Q0: SELECT BDATE, ADDRESS FROM EMPLOYEE
More informationState your dream system (use the following materials, if you need) Alliance model character year character 4. A/T description character 51
Final Project report State your dream system (use the following materials, if you need) 1. Meta Data Table Example Fields Type length Alliance model character 25 96 year character 4 A/T description character
More informationSQL Data Query Language
SQL Data Query Language André Restivo 1 / 68 Index Introduction Selecting Data Choosing Columns Filtering Rows Set Operators Joining Tables Aggregating Data Sorting Rows Limiting Data Text Operators Nested
More informationCMP-3440 Database Systems
CMP-3440 Database Systems Relational DB Languages Relational Algebra, Calculus, SQL Lecture 05 zain 1 Introduction Relational algebra & relational calculus are formal languages associated with the relational
More informationDatabase Systems. Basics of the Relational Data Model
Database Systems Relational Design Theory Jens Otten University of Oslo Jens Otten (UiO) Database Systems Relational Design Theory INF3100 Spring 18 1 / 30 Basics of the Relational Data Model title year
More informationCMP-3440 Database Systems
CMP-3440 Database Systems Advanced SQL Lecture 07 zain 1 Select Statement - Aggregates ISO standard defines five aggregate functions: COUNT returns number of values in specified column. SUM returns sum
More informationEECS-3421a: Test #2 Queries
2016 November 9 EECS-3421a: Test #2 w/ answers 1 of 16 EECS-3421a: Test #2 Queries Electrical Engineering & Computer Science Lassonde School of Engineering York University Family Name: Given Name: Student#:
More informationLab # 6. Data Manipulation Language (DML)
Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4113: Lab # 6 Data Manipulation Language (DML) Eng. Haneen El-Masry December, 2014 2 Objective To be more familiar
More informationIsolation Levels and Concurrency
Isolation Levels and Concurrency PG 13.1 13.2 Dr. Chris Mayfield Department of Computer Science James Madison University Feb 05, 2018 How to test HW3 Write/debug each query individually Follow the lines
More informationINDEX. 1 Basic SQL Statements. 2 Restricting and Sorting Data. 3 Single Row Functions. 4 Displaying data from multiple tables
INDEX Exercise No Title 1 Basic SQL Statements 2 Restricting and Sorting Data 3 Single Row Functions 4 Displaying data from multiple tables 5 Creating and Managing Tables 6 Including Constraints 7 Manipulating
More informationWhat Are Group Functions? Reporting Aggregated Data Using the Group Functions. Objectives. Types of Group Functions
What Are Group Functions? Group functions operate on sets of rows to give one result per group. Reporting Aggregated Data Using the Group Functions Maximum salary in table Copyright 2004, Oracle. All rights
More informationNESTED QUERIES AND AGGREGATION CHAPTER 5 (6/E) CHAPTER 8 (5/E)
1 NESTED QUERIES AND AGGREGATION CHAPTER 5 (6/E) CHAPTER 8 (5/E) 2 LECTURE OUTLINE More Complex SQL Retrieval Queries Self-Joins Renaming Attributes and Results Grouping, Aggregation, and Group Filtering
More informationSQL Queries. COSC 304 Introduction to Database Systems SQL. Example Relations. SQL and Relational Algebra. Example Relation Instances
COSC 304 Introduction to Database Systems SQL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca SQL Queries Querying with SQL is performed using a SELECT statement. The general
More informationIntroduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe
Introduction to Query Processing and Query Optimization Techniques Outline Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms
More informationCS 582 Database Management Systems II
Review of SQL Basics SQL overview Several parts Data-definition language (DDL): insert, delete, modify schemas Data-manipulation language (DML): insert, delete, modify tuples Integrity View definition
More informationRDBMS- Day 4. Grouped results Relational algebra Joins Sub queries. In today s session we will discuss about the concept of sub queries.
RDBMS- Day 4 Grouped results Relational algebra Joins Sub queries In today s session we will discuss about the concept of sub queries. Grouped results SQL - Using GROUP BY Related rows can be grouped together
More informationSubquery: There are basically three types of subqueries are:
Subquery: It is also known as Nested query. Sub queries are queries nested inside other queries, marked off with parentheses, and sometimes referred to as "inner" queries within "outer" queries. Subquery
More informationAlgorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1)
Chapter 19 Algorithms for Query Processing and Optimization 0. Introduction to Query Processing (1) Query optimization: The process of choosing a suitable execution strategy for processing a query. Two
More informationQuerying Microsoft SQL Server 2014
Querying Microsoft SQL Server 2014 Course: 20461 Course Details Audience(s): IT Professional(s) Technology: Microsoft SQL Server 2014 Duration: 40 Hours ABOUT THIS COURSE This forty hours of instructor-led
More informationSQL: Data Manipulation Language. csc343, Introduction to Databases Diane Horton Winter 2017
SQL: Data Manipulation Language csc343, Introduction to Databases Diane Horton Winter 2017 Introduction So far, we have defined database schemas and queries mathematically. SQL is a formal language for
More informationSQL Continued! Outerjoins, Aggregations, Grouping, Data Modification
SQL Continued! Outerjoins, Aggregations, Grouping, Data Modification 1 Outerjoins R OUTER JOIN S is the core of an outerjoin expression. It is modified by: 1. Optional NATURAL in front of OUTER. 2. Optional
More informationRELATIONAL DATA MODEL: Relational Algebra
RELATIONAL DATA MODEL: Relational Algebra Outline 1. Relational Algebra 2. Relational Algebra Example Queries 1. Relational Algebra A basic set of relational model operations constitute the relational
More informationCOSC 304 Introduction to Database Systems SQL. Dr. Ramon Lawrence University of British Columbia Okanagan
COSC 304 Introduction to Database Systems SQL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca SQL Queries Querying with SQL is performed using a SELECT statement. The general
More informationQuerying Data with Transact-SQL (20761)
Querying Data with Transact-SQL (20761) Formato do curso: Presencial e Live Training Preço: 1630 Nível: Iniciado Duração: 35 horas The main purpose of this 5 day instructor led course is to give students
More informationChapter 3. Algorithms for Query Processing and Optimization
Chapter 3 Algorithms for Query Processing and Optimization Chapter Outline 1. Introduction to Query Processing 2. Translating SQL Queries into Relational Algebra 3. Algorithms for External Sorting 4. Algorithms
More informationDatabase Technology. Topic 3: SQL. Olaf Hartig.
Olaf Hartig olaf.hartig@liu.se Structured Query Language Declarative language (what data to get, not how) Considered one of the major reasons for the commercial success of relational databases Statements
More informationIntermediate SQL: Aggregated Data, Joins and Set Operators
Intermediate SQL: Aggregated Data, Joins and Set Operators Aggregated Data and Sorting Objectives After completing this lesson, you should be able to do the following: Identify the available group functions
More informationHigh-Level Database Models. Spring 2011 Instructor: Hassan Khosravi
High-Level Database Models Spring 2011 Instructor: Hassan Khosravi Database Modeling and implemnation process Ideas High-Level Design Relational Database Schema Relational DBMS 4.2 The Entity/Relationship
More informationSQL: csc343, Introduction to Databases Renée J. Miller and Fatemeh Nargesian and Sina Sina Meraji. Winter 2018
SQL: csc343, Introduction to Databases Renée J. Miller and Fatemeh Nargesian and Sina Sina Meraji Winter 2018 Introduction So far, we have defined database schemas and queries mathematically. SQL is a
More informationHW1 is due tonight HW2 groups are assigned. Outline today: - nested queries and witnesses - We start with a detailed example! - outer joins, nulls?
L05: SQL 183 Announcements! HW1 is due tonight HW2 groups are assigned Outline today: - nested queries and witnesses - We start with a detailed example! - outer joins, nulls? 184 Small IMDB schema (SQLite)
More informationLecture 6 - More SQL
CMSC 461, Database Management Systems Spring 2018 Lecture 6 - More SQL These slides are based on Database System Concepts book and slides, 6, and the 2009/2012 CMSC 461 slides by Dr. Kalpakis Dr. Jennifer
More informationOutline. Query Processing Overview Algorithms for basic operations. Query optimization. Sorting Selection Join Projection
Outline Query Processing Overview Algorithms for basic operations Sorting Selection Join Projection Query optimization Heuristics Cost-based optimization 19 Estimate I/O Cost for Implementations Count
More informationOracle Syllabus Course code-r10605 SQL
Oracle Syllabus Course code-r10605 SQL Writing Basic SQL SELECT Statements Basic SELECT Statement Selecting All Columns Selecting Specific Columns Writing SQL Statements Column Heading Defaults Arithmetic
More informationExam II Computer Programming 420 Dr. St. John Lehman College City University of New York 20 November 2001
Exam II Computer Programming 420 Dr. St. John Lehman College City University of New York 20 November 2001 Exam Rules Show all your work. Your grade will be based on the work shown. The exam is closed book
More informationSTRUCTURED QUERY LANGUAGE (SQL)
STRUCTURED QUERY LANGUAGE (SQL) EGCO321 DATABASE SYSTEMS KANAT POOLSAWASD DEPARTMENT OF COMPUTER ENGINEERING MAHIDOL UNIVERSITY SQL TIMELINE SCOPE OF SQL THE ISO SQL DATA TYPES SQL identifiers are used
More informationSQL: Data Querying. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 4
B0B36DBS, BD6B36DBS: Database Systems h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 4 SQL: Data Querying Mar n Svoboda mar n.svoboda@fel.cvut.cz 20. 3. 2018 Czech Technical University
More informationIntroduction to database design
Introduction to database design First lecture: RG 3.6, 3.7, [4], most of 5 Second lecture: Rest of RG 5 Rasmus Pagh Some figures are taken from the ppt slides from the book Database systems by Kiefer,
More informationSQL Data Querying and Views
Course A7B36DBS: Database Systems Lecture 04: SQL Data Querying and Views Martin Svoboda Faculty of Electrical Engineering, Czech Technical University in Prague Outline SQL Data manipulation SELECT queries
More informationQuery Processing and Optimization
Query Processing and Optimization (Part-1) Prof Monika Shah Overview of Query Execution SQL Query Compile Optimize Execute SQL query parse parse tree statistics convert logical query plan apply laws improved
More informationCS 317/387. A Relation is a Table. Schemas. Towards SQL - Relational Algebra. name manf Winterbrew Pete s Bud Lite Anheuser-Busch Beers
CS 317/387 Towards SQL - Relational Algebra A Relation is a Table Attributes (column headers) Tuples (rows) name manf Winterbrew Pete s Bud Lite Anheuser-Busch Beers Schemas Relation schema = relation
More informationCSCB20 Week 4. Introduction to Database and Web Application Programming. Anna Bretscher Winter 2017
CSCB20 Week 4 Introduction to Database and Web Application Programming Anna Bretscher Winter 2017 Last Week Intro to SQL and MySQL Mapping Relational Algebra to SQL queries Focused on queries to start
More informationObjectives. After completing this lesson, you should be able to do the following:
Objectives After completing this lesson, you should be able to do the following: Describe the types of problems that subqueries can solve Define subqueries List the types of subqueries Write single-row
More informationDatabase Systems: Design, Implementation, and Management Tenth Edition. Chapter 8 Advanced SQL
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 8 Advanced SQL SQL Join Operators Join operation merges rows from two tables and returns the rows with one of the following:
More information[AVNICF-MCSASQL2012]: NICF - Microsoft Certified Solutions Associate (MCSA): SQL Server 2012
[AVNICF-MCSASQL2012]: NICF - Microsoft Certified Solutions Associate (MCSA): SQL Server 2012 Length Delivery Method : 5 Days : Instructor-led (Classroom) Course Overview Participants will learn technical
More informationSQL - Data Query language
SQL - Data Query language Eduardo J Ruiz October 20, 2009 1 Basic Structure The simple structure for a SQL query is the following: select a1...an from t1... tr where C Where t 1... t r is a list of relations
More informationChapter 6. SQL Data Manipulation
Chapter 6 SQL Data Manipulation Pearson Education 2014 Chapter 6 - Objectives Purpose and importance of SQL. How to retrieve data from database using SELECT and: Use compound WHERE conditions. Sort query
More informationDatabase Management Systems,
Database Management Systems SQL Query Language (3) 1 Topics Aggregate Functions in Queries count sum max min avg Group by queries Set Operations in SQL Queries Views 2 Aggregate Functions Tables are collections
More information1Z Oracle Database 11g - SQL Fundamentals I Exam Summary Syllabus Questions
1Z0-051 Oracle Database 11g - SQL Fundamentals I Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-051 Exam on Oracle Database 11g - SQL Fundamentals I 2 Oracle 1Z0-051 Certification
More information20461: Querying Microsoft SQL Server 2014 Databases
Course Outline 20461: Querying Microsoft SQL Server 2014 Databases Module 1: Introduction to Microsoft SQL Server 2014 This module introduces the SQL Server platform and major tools. It discusses editions,
More informationRelational Algebra Part I. CS 377: Database Systems
Relational Algebra Part I CS 377: Database Systems Recap of Last Week ER Model: Design good conceptual models to store information Relational Model: Table representation with structures and constraints
More information1 Writing Basic SQL SELECT Statements 2 Restricting and Sorting Data
1 Writing Basic SQL SELECT Statements Objectives 1-2 Capabilities of SQL SELECT Statements 1-3 Basic SELECT Statement 1-4 Selecting All Columns 1-5 Selecting Specific Columns 1-6 Writing SQL Statements
More informationCSC 343 Winter SQL: Aggregation, Joins, and Triggers MICHAEL LIUT
SQL: Aggregation, Joins, and Triggers CSC 343 Winter 2018 MICHAEL LIUT (MICHAEL.LIUT@UTORONTO.CA) DEPARTMENT OF MATHEMATICAL AND COMPUTATIONAL SCIENCES UNIVERSITY OF TORONTO MISSISSAUGA Aggregation Operators
More informationMore on SQL. Juliana Freire. Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan
More on SQL Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan SELECT A1, A2,, Am FROM R1, R2,, Rn WHERE C1, C2,, Ck Interpreting a Query
More informationLanguage. f SQL. Larry Rockoff COURSE TECHNOLOGY. Kingdom United States. Course Technology PTR. A part ofcenqaqe Learninq
Language f SQL Larry Rockoff Course Technology PTR A part ofcenqaqe Learninq *, COURSE TECHNOLOGY!» CENGAGE Learning- Australia Brazil Japan Korea Mexico Singapore Spain United Kingdom United States '
More informationOutline. Note 1. CSIE30600 Database Systems More SQL 2
Outline More Complex SQL Retrieval Queries Specifying Constraints as Assertions and Actions as Triggers Views (Virtual Tables) in SQL Schema Change Statements in SQL CSIE30600 Database Systems More SQL
More informationSQL - Lecture 3 (Aggregation, etc.)
SQL - Lecture 3 (Aggregation, etc.) INFS 614 INFS614 1 Example Instances S1 S2 R1 sid bid day 22 101 10/10/96 58 103 11/12/96 sid sname rating age 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 sid
More informationWhat happens. 376a. Database Design. Execution strategy. Query conversion. Next. Two types of techniques
376a. Database Design Dept. of Computer Science Vassar College http://www.cs.vassar.edu/~cs376 Class 16 Query optimization What happens Database is given a query Query is scanned - scanner creates a list
More information