Computer Science 101 Web Access to Databases SQL – Basic Queries.

18
Computer Science 101 Web Access to Databases SQL – Basic Queries

Transcript of Computer Science 101 Web Access to Databases SQL – Basic Queries.

Page 1: Computer Science 101 Web Access to Databases SQL – Basic Queries.

Computer Science 101Web Access to Databases

SQL – Basic Queries

Page 2: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL Introduction

• Structured Query Language

• Originally called SEQUEL from Structured English QUEry Language

• SQL has a standard

• SQL provides both – Data Definition Language (DDL)

– Data Manipulation Language (DML)

• DBMS may provide higher level approach, but SQL is important for tougher queries, using host programming or web programming.

Page 3: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries• Basic form of SQL query:

SELECT <attribute list>FROM <table list>[WHERE <condition>]

• <attribute list> would be a list of columns separated by commas, etc.

• [ ] enclose optional clauses

• SQL is not case sensitive

Page 4: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries -Conceptually

• SELECT <attribute list>FROM <table list>[WHERE <condition>]

• Step 1: Make “long” rows by combining rows from the various tables in FROM clause in every possible way – each row in first table with each row in second table with each row in third table, etc.

• Step 2: Keep the long rows that satisfy WHERE condition.

• Step 3: Keep only columns specified in SELECT.

Page 5: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries

• Example: Pose a query to get the names of all students:

SELECT LastName, FirstNameFROM Students

Page 6: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries (cont.)

• Names of freshmen students

Page 7: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries (cont.)• Names of students from Fredericksburg

Page 8: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries (cont.)• Names of students from Fredericksburg

Page 9: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries (cont.)• Names of students from Fredericksburg

Page 10: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries (cont.)

• Dump the Students table:

SELECT * FROM Students

• Get names of departments having majors in our database– SELECT Department FROM Majors– SELECT DISTINCT Department

FROM Majors

Page 11: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries –Joining tablesbased on foreign key

• Connecting students with their advisors:

we need to have AdvisorID = FacultyID

Students(StudentID,FirstName, LastName, ClassYear,

City, State, Zip, BirthDate, AdvisorID, Term)

Faculty (FacultyID, FirstName, LastName, Phone, EMail)

Page 12: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries –Joining tablesbased on foreign key

• Connecting majors with their department chairs:

we need to have ChairID = FacultyID

Majors(MajorID, MajorName, Department, ChairID)

Faculty (FacultyID, FirstName, LastName, Phone, EMail)

Page 13: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries –Joining tables

• Student last name, advisor last name

• OR (aliasing)

Page 14: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries –Joining tables

Page 15: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries –Joining tablesbased on intermediate table

• Connecting students with their interests:

we need to have

Students.StudentID = StudentInterest.StudentID AND StudentInterest.InterestID = Interests.InterestID

Students(StudentID,FirstName, LastName, ClassYear,

City, State, Zip, BirthDate, AdvisorID, Term)

StudentInterest(StudentID, InterestID)

Interests(InterestID, InterestName, Category, URL)

Page 16: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries –Joining tablesbased on intermediate table

• Connecting students with majors:

we need to have

Students.StudentID = StudentMajor.StudentID AND StudentMajor.MajorID = Majors.MajorID

Students(StudentID,FirstName, LastName, ClassYear,

City, State, Zip, BirthDate, AdvisorID, Term)

StudentMajor(StudentID, MajorID)

Majors(MajorID, MajorName, Department, ChairID)

Page 17: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries –Joining tables (cont.)

• Student last name, first name, name of NFL team student is interested in.

Page 18: Computer Science 101 Web Access to Databases SQL – Basic Queries.

SQL - Basic Queries –Joining tables (cont.)