Top Banner
IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.1
28

IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Mar 27, 2015

Download

Documents

Luis Christie
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

IT203 Unit 6: SQL Queries IIT203 Unit 6: SQL Queries I

SQL

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.1

Page 2: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

SQL Overview

• SQL is the language of relational databases.

• It is used for every aspect of database development and management.

• Anyone who works with relational databases is expected to have knowledge of SQL.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapte7.2

Page 3: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

History• SQL is the programming language used for

accessing and manipulating data and objects in relational databases.

• The first versions of SQL were developed by IBM in the 1970s.

• SQL first became an ANSI standard in 1986 and an ISO standard in 1987.

• There was a major revision to the standard in 1992.

• Additional modifications were made in 1999, 2003, and 2006.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.3

Page 4: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Nature of SQL

• SQL is a declarative language.• Procedural languages like C# or Java

describe how to accomplish a task step by step.

• In a declarative language you say what you want to do, not how.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.4

Page 5: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

SQL Functionality

• SQL is not case sensitive.• In some environments, SQL statements

must end with a semicolon.• SQL is usually divided into two broad

areas of functionality:– DDL (Data Definition Language)– DML (Data Manipulation Language)

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.5

Page 6: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

DDL

• Data Definition language is the set of SQL keywords and commands used to create, alter and remove database objects.

• A example is the CREATE TABLE command:CREATE TABLE TestTable(

TestID INT IDENTITY (1,1),TestDescription NVARCHAR(255)

)

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.6

Page 7: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

DML

• Data Manipulation Language is the set of keywords and commands used to retrieve and modify data.

• SELECT, UPDATE, INSERT, and DELETE are the primary actions of DML.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.7

Page 8: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Starting a New Query Window

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.8

One way to start a new query window in SQL Server is to right-click the database folder in the object explorer window and select New Query from the context menu. It will open up a new query window.

Page 9: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Select Statement

• The SELECT statement is used to retrieve data from the database.

• The basic syntax is:SELECT <columnName>, <columnName>FROM <TableName>

SELECT StudentFirstName, StudentLastName, StudentPhoneFROM Student

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.9

Page 10: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

The * WildCard

• Instead of listing each of the columns, you can use an * to include all columns.SELECT * FROM Tutor

• Listing the columns does give you the ability to choose both which columns and which order to present them.

• With the *, you return all the columns in the order they have in the underlying table. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.10

Page 11: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Distinct Key Word

• Sometimes a query will return multiple duplicate values.

• For instance, the statementSELECT TutorKey FROM Session

could return numerous instances of each customer.

• The DISTINCT keyword will make it so it only returns one instance of each TutorKey.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.11

Page 12: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Distinct Continued

SELECT DISTINCT TutorKeyFROM Session

• The DISTINCT keyword always operates on the whole row, not on individual columns.

• It only returns distinct rows.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.12

Page 13: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Calculations

• You can do calculations in SELECT statements. SELECT ItemNumber, ItemPrice, Quantity, ItemPrice * QuantityFROM CustomerOrder

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.13

Page 14: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Operators

Operator Description

* Multiplication

/ Division

+ Addition

- Subtraction

% Modulus (returns the remainder in integer division)

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.14

Page 15: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Order of Operations

The order of operation is the same as in algebra.

1. Whatever is in parenthesis is executed first. If parentheses are nested, the innermost is executed first, then the next most inner, etc.

2. Then all division and multiplication left to right.

3. And finally all addition and subtractions left to right.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.15

Page 16: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

SORTING

• You can sort the results of a query by using the keywords ORDER BY.

SELECT * FROM SessionORDER BY SessionDate

• ORDER BY does an ascending A-Z, 1-10 etc. sort by default.

• You can change the direction by using the DESC keyword after the field to be sorted. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapte7.16

Page 17: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Aliasing

• Sometimes it is useful to alias a column name to make a more readable result set.

SELECT StudentLastName AS [Last Name], StudentFirstName AS [First Name] FROM Student

• The AS keyword is optional.• Double quotes “ “ can be used instead of

square brackets.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.17

Page 18: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Where Clause

• The WHERE clause allows you to limit the rows you return in a query.

• You use the WHERE clause to specify the criteria by which the rows will be filtered.

SELECT LastName, FirstName, Phone, CityFROM CustomerWHERE City = 'Seattle'

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.18

Frank
Needs to be straight quotes, or mention in IG about straight quotes.
Page 19: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Other Criteria

• As well as equal, you can use other operators for the criteria:

><>==<

• Character and date values in the criteria are quoted with single quotes.

• Numerical values are not quoted.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.19

Page 20: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Like

• The LIKE keyword used in a WHERE operator with a wildcard (% or _) allows you to search for patterns in character based fields.

• The following returns all items whose name starts with "T".

SELECT ItemName, ItemPriceFROM InventoryWHERE ItemName LIKE 'T%'

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.20

Page 21: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Between

• The BETWEEN keyword can be used in criteria to return values between two other values.

• BETWEEN is inclusive of its ends.SELECT TutorKey, SessionDate, StudentKey FROM SessionWHERE SessionDate BETWEEN '11/1/2008' AND '11/30/2008'

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.21

Page 22: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

AND, OR, NOT• You can use keywords AND, OR, and NOT to

combine criteria in a query.• AND is exclusive. Or is inclusive.• WHERE City='Seattle' OR City='Portland'

returns all records that have either Seattle or Portland for their city.

• WHERE City='Seattle' AND City='Portland' returns nothing because the record cannot have both at the same time.

• NOT excludes.• WHERE NOT City='Portland' returns every

city except Portland. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.22

Page 23: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Null

• Nulls are special cases. They are not a value and so cannot be compared to a value using = or < or >.

• To locate nulls, you can use the IS keyword in a criteria:

WHERE StudentKey IS NULLWHERE StudentKey IS NOT NULL

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.23

Page 24: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Functions

• Functions always have the same basic syntax:<function name>(function arguments)

• There are hundreds of built-in functions.• We will be concerned with two broad

types of functions:– Scalar functions– Aggregate functions

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.24

Page 25: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Scalar Functions

• Scalar functions operate on a single row at a time.

• Here is a list of scalar functions used in this chapter:

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.25

Function Name Description

GETDATE() Returns current date and time

MONTH Returns the month as in integer (1 to 12) from a Date value

YEAR Returns the Year as a four-digit integer from a date value

Page 26: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Aggregate Functions

• Aggregate functions operate on multiple rows at a time.

• Here is a table of common aggregate functions:

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.26

Aggregate Function

Description

COUNT Counts the number of values : COUNT(*) counts all the rows. COUNT(columnName) counts all the values in the column but ignores nulls

SUM Sums or totals numeric values: SUM (InStock)

AVG Returns the mean average of a set of numeric values: AVG(Price). By default nulls are ignored.

MAX Returns the highest value in a set of numeric or datetime values: MAX(price)

MIN Returns the smallest value in a set of numeric or datetime value: MIN(Price)

Page 27: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

Using DISTINCT in Aggregate Functions

• You can use the DISTINCT keyword with aggregate functions.

• Doing so means the function will ignore duplicate values in its calculation.

SELECT COUNT(DISTINCT studentKey) AS [Unduplicated] FROM Session

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Chapter7.27

Page 28: IT203 Unit 6: SQL Queries I SQL Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter7.1.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic,

mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall