component 4/unit 6f topic vi: create simple querying statements for the database the select...
TRANSCRIPT
![Page 1: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/1.jpg)
Component 4/Unit 6fTopic VI: Create simple
querying statements for the database
• The SELECT statement
• Clauses
• Functions
• Joins
• Subqueries
• Data manipulation
![Page 2: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/2.jpg)
Getting Data Out of the DB• The SQL SELECT statement is the common
way to retrieve data from the DB
• Statements that are invoked to retrieve data are called queries
• The general form of the basic standard for the SELECT statement:
SELECT attributename1, attributename2, . . .
FROM tablename;
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 20102
![Page 3: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/3.jpg)
Example SELECT Statement
SELECT InstName, InstContact
From ClinicalTrialTestingInstitution;
The above statement returns all the InstName values and associated InstContact values from the table.
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 20103
![Page 4: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/4.jpg)
The WHERE Clause
SELECT InstName, InstContact
FROM ClinicalTrialTestingInstitution
WHERE InstContact = ‘7218823843’;
The above statement returns the InstName and InstContact for only those rows where the contact is “7218823843”
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 20104
![Page 5: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/5.jpg)
The ORDER BY Clause
SELECT InstName, InstContact
FROM ClinicalTrialTestingInstitution
WHERE InstContact = ‘7218823843’ORDER BY InstName
The above statement will output the values for InstName and InstContact for rows with an institution contact of “7218823843” in alphabetical order on InstName
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 20105
![Page 6: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/6.jpg)
Many More Clauses and Operators (these are for SQL
Server)Distinct Arithmetic (+, -, *, /, %/Modulo)
Like Sign
Union NULL and IS NULL
Intersect =, <, <=, >=, >, <> or !=
Having Underscore and % wildcards
Top Concatenation (+)
Group By AND and OR
NOT In and Between (and more)
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 20106
![Page 7: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/7.jpg)
Functions
SELECT COUNT(*)
From ClinicalTrialTestingInstitution
The above statement returns a count of all the rows in the table (Since the primary key is InstName, this is the count of how many different institutions are in the table)
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 20107
![Page 8: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/8.jpg)
There Are Many Different Functions (these are for SQL
Server)Convert Months Between
Cast DateName
Sum ABS
Avg Ceiling/Ceil and Floor
Max, Min Trig functions
Variance or VarpExp
Stddev or stdev Log, Log10 and LN
Date and Time Power (and many more)
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 20108
![Page 9: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/9.jpg)
Getting Data From More Than One Table
• Joining two or more tables together by using the primary-to-foreign keys relationship allows a query to get data from all tables that have been joined.
• Inner Joins
• Outer Joins
• Equi-Join
• Natural Join
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 20109
![Page 10: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/10.jpg)
Inner Join
SELECT T.TrialCode, T.DrugNameFK, C.InstName, C.InstContact
FROM ClinicalTrialTestingInstitution C, Trial T
WHERE C.InstName = T.InstNameFK
AND T.TrialCode < 4000
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 201010
![Page 11: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/11.jpg)
Subqueries
• One query’s results can be the input to another query.
• A query is nested within another query
• More than two levels of nesting are allowed
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 201011
![Page 12: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/12.jpg)
Example Subquery• Let’s say that we need to find the names
of institutions in Denver, Colorado that have a trial cost resource of “NSF”
• We could write two separate SELECT statements and then manually compare the two outputs (projections)
• If you combine the two queries into a subquery the output should be just what we are looking for (nothing more and nothing less)
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 201012
![Page 13: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/13.jpg)
The Subquery
SELECT C.InstName
FROM ClinicalTrialTestingInstitution C
WHERE C.City = ‘Denver’ AND C.State = ‘CO’ AND C.InstName IN (
SELECT T.InstNameFK
FROM Trial T
WHERE T.TrialCostResource = ‘NSF’);
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 201013
![Page 14: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/14.jpg)
Manipulation of Data Within the Database
• INSERTINSERT INTO Trial(TrialCode, TrialStartDate, DrugNameFK, InstNameFK)
Values(39984, 09/20/2010, ‘Alaxamine’, ‘Acme Pharmaceuticals’);
• UPDATEUPDATE Trial
SET TrialCostResource = ‘NSF’
WHERE TrialCode = 43895;
• DELETEDELETE FROM Trial
WHERE TrialCode = 58340;
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 201014
![Page 15: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/15.jpg)
Transaction Processing
• Multiple SQL statements executed as a unit
• Ability to back out changes within a transaction process (ROLLBACK and COMMIT)
Component 4/Unit 6fHealth IT Workforce Curriculum
Version 1.0/Fall 201015
![Page 16: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/16.jpg)
Summary
• A database has significant storage, efficiency and security advantages over other forms of storage.
• Data in a database is received, stored and retrieved via a Structured Query Language (SQL) also called a data sublanguage
• The database, tables, attributes, keys and relationships are created with SQL
• SQL can be placed in a transaction process and stored to be executed whenever appropriate
Component 4/Unit 6f 16Health IT Workforce Curriculum
Version 1.0/Fall 2010
![Page 17: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/17.jpg)
Summary Continued
• Various problem anomalies are addressed in a database by splitting data into multiple tables.
• Primary and foreign keys are used to connect database tables together making retrieval of data from multiple tables possible
• Data modeling is used as a process in the development of a database design
Component 4/Unit 6f 17Health IT Workforce Curriculum
Version 1.0/Fall 2010
![Page 18: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/18.jpg)
Summary Continued
• The entity relationship model shows entities, attributes and relationships.
• There are many normal forms that can be used in the normalization of a database, but typically only the first three are used.
Component 4/Unit 6f 18Health IT Workforce Curriculum
Version 1.0/Fall 2010
![Page 19: Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation](https://reader036.vdocuments.us/reader036/viewer/2022083007/56649e875503460f94b8b371/html5/thumbnails/19.jpg)
Summary Continued
• The database management system (DBMS) is responsible for maintaining the database and carrying out SQL statements
• There are 6 phases of database development: Specification gathering, testing, implementation, maintenance and modification
Component 4/Unit 6f 19Health IT Workforce Curriculum
Version 1.0/Fall 2010