Download presentation
Presentation is loading. Please wait.
Published byBenjamin Hicks Modified over 9 years ago
1
SQL Views Chapter 3A DAVID M. KROENKE and DAVID J. AUER DATABASE CONCEPTS, 5 th Edition
2
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 © 2011 Pearson Education, Inc. Publishing as Prentice Hall
3
Appendix Objectives Learn basic SQL statements for creating views Learn basic SQL statements for using views Understand the reasons for using views 3A-3 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
4
SQL Views A SQL view is a virtual table that is constructed from other tables or views A view has no data of its own, but uses data stored in tables or other views Views are created using SQL SELECT statements Views are used in other SELECT statements just as if they were a table The SQL statements that create the views may not contain an ORDER BY clause If the results of a query using a view need to be sorted, the sort order must be provided by the SELECT statement that processes the view 3A-4 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
5
SQL CREATE VIEW Statement The SQL CREATE VIEW statement is used to create view structures. CREATE VIEW ViewName AS {SQL SELECT statement}; 3A-5 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
6
SQL CREATE VIEW Example CREATE VIEW EmployeePhoneView AS SELECT FirstName, LastName, Phone AS EmployeePhone FROM EMPLOYEE; 3A-6 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
7
Creating an SQL View in SQL Server 2008 R2 3A-7 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
8
Creating an SQL View MySQL 5.1 3A-8 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
9
Creating an SQL View-Equivalent Query in Microsoft Access 2010 3A-9 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
10
Using an SQL SELECT Statement Once the view is created, it can be used in the FROM clause of SELECT statements just like a table. SELECT * FROM EmployeePhoneView ORDER BY LastName; 3A-10 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
11
Using the EmployeePhoneView in SQL Server 2008 R2 3A-11 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
12
Using the EmployeePhoneView in MySQL 5.1 3A-12 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
13
Using an SQL View-Equivalent Query in Microsoft Access 2010 I 3A-13 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
14
Using an SQL View-Equivalent Query in Microsoft Access 2010 II 3A-14 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
15
Using an SQL View-Equivalent Query in Microsoft Access 2010 III 3A-15 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
16
Some Uses for SQL Views Hide columns or rows Display results of computations Hide complicated SQL syntax Layer built-in functions C-16 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
17
Using SQL Views: Hide columns or rows I CREATE VIEW BasicDepartmentDataView AS SELECT DepartmentName, Phone AS DepartmentPhone FROM DEPARTMENT; SELECT * FROM BasicDepartmentDataView ORDER BY DepartmentName; 3A-17 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
18
Using SQL Views: Hide columns or rows II CREATE VIEW MarkingDepartmentProjectView AS SELECT ProjectID, Name AS ProjectName, MaxHours, StartDate, EndDate FROM PROJECT WHERE Department = 'Marketing'; SELECT * FROM MarkingDepartmentProjectView ORDER BY ProjectID; 3A-18 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
19
Using SQL Views: Display results of computations – SQL Statement CREATE VIEW ProjectHoursToDateView AS SELECT PROJECT.ProjectID, Name AS ProjectName, MaxHours AS ProjectMaxHours, SUM(HoursWorked) AS ProjectHoursWorkedToDate FROM PROJECT, ASSIGNMENT WHERE PROJECT.ProjectID = ASSIGNMENT.ProjectID GROUP BY PROJECT.ProjectID; 3A-19 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
20
Using SQL Views: Display results of computations – Results SELECT * FROM ProjectHoursToDateView ORDER BY PROJECT.ProjectID; 3A-20 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
21
Using SQL Views: Hide complicated SQL syntax – SQL Statement CREATE VIEW EmployeeProjectHoursWorkedView AS SELECT Name, FirstName, LastName, HoursWorked FROM EMPLOYEE AS E JOIN ASSIGNMENT AS A ON E.EmployeeNumber = A.EmployeeNumber JOIN PROJECT AS P ON A.ProjectID = P.ProjectID; 3A-21 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
22
Using SQL Views: Hide complicated SQL syntax – Results SELECT * FROM EmployeeProjectHoursWorkedView; 3A-22 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
23
Using SQL Views: Layering Computations and Built-in Functions 1 st SQL Statement CREATE VIEW ProjectHoursToDateView AS SELECT PPOJECT.ProjectID, Name AS ProjectName, MaxHours AS ProjectMaxHours, SUM(HoursWorked) AS ProjectHoursWorkedToDate FROM PROJECT, ASSIGNMENT WHERE PROJECT.ProjectID = ASSIGNMENT.ProjectID GROUP BY PROJECT.ProjectID; 3A-23 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
24
Using SQL Views: Layering Computations and Built-in Functions 2 nd SQL Statement CREATE VIEW ProjectsOverAllotedMaxHoursView AS SELECT ProjectID, ProjectName, ProjectMaxHours, ProjectHoursWorkedToDate FROM ProjectHoursToDateView WHERE ProjectHoursWorkedToDate > ProjectMaxHours; 3A-24 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
25
Using SQL Views: Layering Computations and Built-in Functions Results SELECT ProjectID, ProjectName, ProjectMaxHours, ProjectHoursWorkedToDate, (ProjectHoursWorkedToDate - ProjectMaxHours) AS HoursOverMaxAllocated FROM ProjectsOverAllotedMaxHoursView ORDER BY ProjectID; 3A-25 KROENKE and AUER - DATABASE CONCEPTS (5th Edition) Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall
26
SQL Views End of Presentation on Chapter 3A DAVID M. KROENKE and DAVID J. AUER DATABASE CONCEPTS, 5 th Edition
27
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 © 2011 Pearson Education, Inc. Publishing as Prentice Hall
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.