1
1
IT360: Applied Database Systems SQL: Structured Query Language (Chapter 2)
2
SQL - The Language of Databases
- Developed by IBM in the 1970s
- Create and process database data
- SQL programming is a critical skill !!!
SQL - The Language of Databases Developed by IBM in the 1970s - - PDF document
IT360: Applied Database Systems SQL: Structured Query Language (Chapter 2) 1 SQL - The Language of Databases Developed by IBM in the 1970s Create and process database data SQL programming is a critical skill !!! 2 1 Facebook and
1
2
3
the board: SQL. Learning how SQL works is crucial to getting anything done in databases, and any GUI is largely a wrapper around the SQL statements one uses to make those actions happen.
normalization) is good, mostly for helping you understand good queries.
databases across the site.
the requirements for most engineering positions here on http://www.facebook.com ;) Thanks! Nick from Facebook
4
5
6
7
Student Number Student LastName Student FirstName Email PhoneNumber MajDeptName 190 Smith John jsmith@usna.edu 410-431-3456 ComSci 673 Doe Jane jdoe@usna.edu ComSci 312 Doe Jane jdoe2@usna.edu 443-451-7865 Math 8
SELECT StudentNumber, StudentLastName, StudentFirstName FROM Students WHERE MajDeptName = ‘ComSci’;
Student Number Student LastName Student FirstName
190 Smith John 673 Doe Jane
9
StudentLastName
Smith Doe Doe
StudentLastName
Smith Doe
10
11
SELECT [DISTINCT] column_name(s) | * FROM table_name(s) [WHERE conditions] [ORDER BY column_name(s) [ASC/DESC]]
12
SNb SName Email 190 Smith jsmith@usna.edu 673 Doe jdoe@usna.edu 312 Doe jdoe2@usna.edu Cid CName CDept IT360 Database ComSci IC322 Networks ComSci SM121 Calculus1 Math SNb Cid Semester 190 IC322 Spring2011 312 IT360 Spring2012
SELECT SName FROM Students S, Enrolled E WHERE S.Snb = E.SNb AND E.Cid = ‘IT360’ Find the names of students enrolled in IT360 Students Courses Enrolled
13
14
S.SNb SName Email E.SNb Cid Semester 190 Smith jsmith@usna.edu 190 IC322 Spring2011 190 Smith jsmith@usna.edu 312 IT360 Spring2012 673 Doe jdoe@usna.edu 190 IC322 Spring2011 673 Doe jdoe@usna.edu 312 IT360 Spring2012 312 Doe jdoe2@usna.edu 190 IC322 Spring2011 312 Doe jdoe2@usna.edu 312 IT360 Spring2012
SELECT SName FROM Students S, Enrolled E WHERE S.Snb = E.SNb AND E.Cid = ‘IT360’
15
S.SNb SName Email E.SNb Cid Semester 190 Smith jsmith@usna.edu 190 IC322 Spring2011 190 Smith jsmith@usna.edu 312 IT360 Spring2012 673 Doe jdoe@usna.edu 190 IC322 Spring2011 673 Doe jdoe@usna.edu 312 IT360 Spring2012 312 Doe jdoe2@usna.edu 190 IC322 Spring2011 312 Doe jdoe2@usna.edu 312 IT360 Spring2012
SELECT SName FROM Students S, Enrolled E WHERE S.Snb = E.SNb AND E.Cid = ‘IT360’
16
S.SNb SName Email E.SNb Cid Semester 190 Smith jsmith@usna.edu 190 IC322 Spring2011 190 Smith jsmith@usna.edu 312 IT360 Spring2012 673 Doe jdoe@usna.edu 190 IC322 Spring2011 673 Doe jdoe@usna.edu 312 IT360 Spring2012 312 Doe jdoe2@usna.edu 190 IC322 Spring2011 312 Doe jdoe2@usna.edu 312 IT360 Spring2012
SELECT SName FROM Students S, Enrolled E WHERE S.Snb = E.SNb AND E.Cid = ‘IT360’
SName Doe
17
18
19
Wild cards:
SELECT SNb, SName FROM Students WHERE SNb LIKE ’12%’ AND Major IN (‘SIT’, ‘SCS’)
20
21
Charge 150 400 50 400 (No column name) John Doe Brad Johnson Jessica Smith Mary Davis
22
23
24
Correct! Illegal! Sub-query
25
Correct! Illegal!
26
27
28
29
30
31
32
33
34
35
36
FROM Students, (SELECT Alpha FROM Enroll WHERE CourseID = ‘IT360’ AND Alpha IN (SELECT Alpha FROM Enroll WHERE CourseID = ‘IT334’) ) AS ResultAlphaTable WHERE Students.Alpha = ResultAlphaTable.Alpha
37
38
39
40