Skip to main content

SQL Set Operators

SQL Set Operators   Traditional Set Operators: Union Compatibility:     Requirement for the traditional set operators.    Strong requirement.                         - Same number of columns.                         - Each corresponding column is compatible.                         - Positional correspondence.     Apply to similar tables by removing columns first. SQL UNION Example:           Example 1: Retrieve basic data about all university people.                     SELECT FacNo AS PerNo, FacFirstName                                      ...

Query Formulation

Query Formulation

 Query Formulation Process:


Critical Questions:

What tables? 
        -Columns in result.
        -Conditions to test (including join conditions).

How to combine the tables? 
        -Usually join of PK to FK.

More complex ways to combine Individual rows or groups of rows? 
        -Aggregate functions in result.
        -Conditions with aggregate functions.

University Database Diagram:



Summarization and Joins 1:

    Example 1: List the number of students enrolled in each 2017 course offering showing the offer number and number of students in the result.

            SELECT Offering.OfferNo, 
                            COUNT(*) AS NumStudents 
                FROM Enrollment, Offering 
                WHERE Offering.OfferNo = Enrollment.OfferNo 
                AND OffYear = 2017 
                GROUP BY Offering.OfferNo;

Summarization and Joins 2:

    Example 2: List the offering number, course number, and average GPA.  Only include courses offered in fall 2016 in which the average GPA is greater than 3.0.

            SELECT Enrollment.OfferNo, CourseNo, 
                            AVG(StdGPA) AS AvgGPA 
                FROM Offering, Enrollment, Student 
                WHERE Offering.OfferNo = Enrollment.OfferNo 
                AND Student.StdNo = Enrollment.StdNo 
                AND OffYear = 2016 
                AND OffTerm = 'FALL' 
                GROUP BY Enrollment.OfferNo, CourseNo 
                HAVING AVG(StdGPA) > 3.0;

Efficiency Considerations:

  • Little concern for efficiency.
  • Intelligent SQL compilers.
  • Correct and non redundant solution.
                -No extra tables.
                -No unnecessary grouping.
                -No missing join conditions.

Extra Table Redundancy:

    Example 3: List the offering number, course number, and average GPA.  Only include courses offered in fall 2016 in which the average GPA is greater than 3.0.

            SELECT Enrollment.OfferNo, Offering.CourseNo, 
                            AVG(StdGPA) AS AvgGPA 
                FROM Offering, Enrollment, Student, Course 
                WHERE Offering.OfferNo = Enrollment.OfferNo 
                AND Student.StdNo = Enrollment.StdNo 
                AND Course.CourseNo = Offering.CourseNo 
                AND OffYear = 2016 AND OffTerm = 'FALL' 
                GROUP BY Enrollment.OfferNo, Offering.CourseNo 
                HAVING AVG(StdGPA) > 3.0;





Our Official Website : Web Conquerors (https://www.webconquerors.com/) 

Want to get digital services? Contact US

Want to know about our services? Our Services

Comments

Popular posts from this blog

SQL Set Operators

SQL Set Operators   Traditional Set Operators: Union Compatibility:     Requirement for the traditional set operators.    Strong requirement.                         - Same number of columns.                         - Each corresponding column is compatible.                         - Positional correspondence.     Apply to similar tables by removing columns first. SQL UNION Example:           Example 1: Retrieve basic data about all university people.                     SELECT FacNo AS PerNo, FacFirstName                                      ...

Database Create Statements

University Database Create Statements :   DROP TABLE Enrollment; DROP TABLE offering; DROP TABLE Student; DROP TABLE Course; DROP TABLE Faculty;     -------------------- Student ------------------------   CREATE TABLE Student ( stdNo char(11) not null, stdFirstName varchar(30) not null, stdLastName varchar(30) not null, stdCity varchar(30) not null, stdState char(2) not null, stdZip char(10) not null, stdMajor char(6), stdClass char(2), stdGPA decimal(3,2), CONSTRAINT StudentPk PRIMARY KEY (StdNo) );     -------------------- Course ------------------------   CREATE TABLE Course ( CourseNo       char(6) not null, crsDesc        varchar(50) not null, CrsUnits       integer, CONSTRAINT CoursePK PRIMARY KEY (CourseNo) );     -------------------- Faculty ---------------------   CREAT...

Database Three Level Architecture

  Database Three Level Architecture Objectives of Three-Level Architecture: All users  should be able to access same data but have a different customized view.  A user’s view is immune to changes made in other views Users should not need to know physical database storage details.  DBA should be able to change database storage structures without affecting the user’s view.  Internal structure of database should be un affected by changes to physical aspects of storage. DBA should be able to change conceptual structure of database without affecting all users ANSI-SPARC Three-Level Architecture: External Level: Users’ view of the database .  Describes that part of database that is relevant to a particular user. Different views may have different representation of same data (e.g. different date formats, age derived from DOB etc.) Conceptual Level: Community view of the database. Describes what data is stored in the database and the relationships among the data....