Web Services שפת SQL כתבה: זהבה יעקובסון ליווי מקצועי : ארז קלר

Slides:



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

Basic SQL Introduction Presented by: Madhuri Bhogadi.
SQL components In Oracle. SQL in Oracle SQL is made up of 4 components: –DDL Data Definition Language CREATE, ALTER, DROP, TRUNCATE. Creates / Alters.
CSE 190: Internet E-Commerce Lecture 10: Data Tier.
Populating and Querying tables Insert and mostly View (DML)
SQL Basics Based on the relational algebra we just learned. Nonprocedural language – what to be done not how Simple, powerful language Used for both data.
Northwind Sample database (also supplied with MS Access)
Tutorial 5 Multi-table queries. Tutorial 5 objectives Displaying Data from Multiple Tables –[ ]Write SELECT statements to access data from more than one.
1ISM - © 2010 Houman Younessi Lecture 3 Convener: Houman Younessi Information Systems Spring 2011.
SQL Joins.
 SQL stands for Structured Query Language.  SQL lets you access and manipulate databases.  SQL is an ANSI (American National Standards Institute) standard.
SQL in Action Amit Bhawnani & Nimesh Shah. Basic Structure SQL is based on set and relational operations with certain modifications and enhancements A.
Module 1: Introduction to Transact-SQL
CPS120: Introduction to Computer Science Lecture 19 Introduction to SQL.
Structure Query Language SQL. Database Terminology Employee ID 3 3 Last name Small First name Tony 5 5 Smith James
SQL SQL Server : Overview SQL : Overview Types of SQL Database : Creation Tables : Creation & Manipulation Data : Creation & Manipulation Data : Retrieving.
IMS 4212: Intro to SQL 1 Dr. Lawrence West, Management Dept., University of Central Florida Introduction to SQL—Topics Introduction to.
BY SATHISH SQL Basic. Introduction The language Structured English Query Language (SEQUEL) was developed by IBM Corporation, Inc., to use Codd's model.
Getting to Know SQL. © Jim Hope 2002 All Rights Reserved Data Manipulation SELECT statement INSERT INTO statement UPDATE statement DELETE statement TRANSFORM.
SQL Unit – 2 Base Knowledge Presented By Mr. R.Aravindhan.
5. Simple SQL using Oracle1 Simple SQL using Oracle 5. Working with Tables: Data management and Retrieval 6. Working with Tables: Functions and Grouping.
1 SQL Structured Query Language قسم التعريفات Data Definition Language (DDL) قسم التعامل مع البيانات Data Manipulation Language (DML) قسم الاستعلامات Data.
SQL Structured Query Language 1. Data Definition Language (DDL) is used to manage table and define data structure i.e. CREATE, ALTER, DROP Data Control.
SQL. คำสั่ง SQL SQL stands for Structured Query Language is a standard language for accessing and manipulating databases.
CIS 375—Web App Dev II SQL. 2 Introduction SQL (Structured _______ Language) is an ANSI standard language for accessing databases.ANSI SQL can execute.
DBSQL 5-1 Copyright © Genetic Computer School 2009 Chapter 5 Structured Query Language.
Database Fundamental & Design by A.Surasit Samaisut Copyrights : All Rights Reserved.
IMS 4212: Data Manipulation 1 Dr. Lawrence West, MIS Dept., University of Central Florida Additional Data Manipulation Statements INSERT.
CIS 375—Web App Dev II SQL. 2 Introduction SQL (Structured _______ Language) is an ANSI standard language for accessing databases.ANSI SQL can execute.
SQL Jan 20,2014. DBMS Stores data as records, tables etc. Accepts data and stores that data for later use Uses query languages for searching, sorting,
5. Simple SQL using Oracle1 Simple SQL using Oracle 5. Working with Tables: Data management and Retrieval 6. Working with Tables: Functions and Grouping.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 (Part II) INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor.
More queries Outer joins and summary queries. Inner and outer joins An Inner join only returns matching rows from two tables –E.g. if I join the customer.
1/18/00CSE 711 data mining1 What is SQL? Query language for structural databases (esp. RDB) Structured Query Language Originated from Sequel 2 by Chamberlin.
Getting to Know SQL. © Jim Hope 2004 All Rights Reserved Data Manipulation SELECT statement INSERT INTO statement UPDATE statement DELETE statement UNION.
© Keith Vander Linden, A language that doesn't affect the way you think about programming is not worth knowing. - Alan Perlis, “Epigrams in Computing”,
An Introduction to SQL For CS Overview of SQL  It is the standard language for relational systems, although imperfect  Supports data definition.
Enterprise manager Using the Enterprise manager. Purpose of the Enterprise Manager To design tables To populate / update tables To draw diagrams of tables.
Distribution of Marks For Second Semester Internal Sessional Evaluation External Evaluation Assignment /Project QuizzesClass Attendance Mid-Term Test Total.
SQL. Originally developed by IBM Standardized in 80’s by ANSI and ISO Language to access relational database and English-like non-procedural Predominant.
Starting with Oracle SQL Plus. Today in the lab… Connect to SQL Plus – your schema. Set up two tables. Find the tables in the catalog. Insert four rows.
7 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel 7.6 Advanced Select Queries SQL provides useful functions that.
SQL LANGUAGE TUTORIAL Prof: Dr. Shu-Ching Chen TA: Hsin-Yu Ha.
SQL: Structured Query Language It enables to create and operate on relational databases, which are sets of related information stored in tables. It is.
Structured Query Language (SQL) IBM RESEARCH PROJECT (SEQUEL) –E.F. CODD, JUNE 70, ACM –CONTINUED RESEARCH THROUGH 70S –CLONE MAKER BANDWAGON AMERICAN.
SQL. SQL Introduction Standard language for querying and manipulating data Structured Query Language Many standards out there: ANSI SQL, SQL92 (a.k.a.
 MySQL  DDL ◦ Create ◦ Alter  DML ◦ Insert ◦ Select ◦ Update ◦ Delete  DDL(again) ◦ Drop ◦ Truncate.
Lec-7. The IN Operator The IN operator allows you to specify multiple values in a WHERE clause. SQL IN Syntax SELECT column_name(s) FROM table_name WHERE.
Advanced SQL Advanced Database Dr. AlaaEddin Almabhouh.
Standard language for querying and manipulating data Structured Query Language Many standards out there: ANSI SQL, SQL92 (a.k.a. SQL2), SQL99 (a.k.a. SQL3),
SQL SQL Ayshah I. Almugahwi Maryam J. Alkhalifa
How to: SQL By: Sam Loch.
Web Systems & Technologies
CHAPTER 7 DATABASE ACCESS THROUGH WEB
SQL Query Getting to the data ……..
CS3220 Web and Internet Programming More SQL
Structured Query Language
Introduction to Structured Query Language(SQL)
Structured Query Language – The Basics
آزمایشگاه پایگاه داده ها دستورات مهم SQL در SQL Server
Prof: Dr. Shu-Ching Chen TA: Hsin-Yu Ha
Aggregations Various Aggregation Functions GROUP BY HAVING.
مقدمة في قواعد البيانات
Introduction To Structured Query Language (SQL)
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall
Database systems Lecture 3 – SQL + CRUD
SQL Fundamentals in Three Hours
Introduction To Structured Query Language (SQL)
Advanced Joins IN ( ) Expression Subqueries with IN ( ) Expression
Presentation transcript:

Web Services שפת SQL כתבה: זהבה יעקובסון ליווי מקצועי : ארז קלר www.corner.co.il

מבוא לשפת SQL. קריאת מידע. שינוי מידע. צירופים. משפטים נוספים.

מבוא לשפת SQL SQL (Structured Query Language ) , היא שפה המשמשת לצורך עבודה עם מסדי נתונים. שפת SQL פותחה על ידי חברת IBM ואומצה כתקן הן על ידי מכון התקנים האמריקאי (ANSI -American National Standards Institute) והן על ידי ארגון התקינה הבינלאומי (ISO) . שפת SQL היא שפת שאילתות המתארת רק מה לבצע ולא כיצד לבצע. שאילתות SQL, משמשות לצורך ביצוע פעולות על מסדי נתונים. לדוגמא: יצירת טבלה חדשה, הוספת נתונים חדשים, חיקת נתונים, עידכון נתונים, מחיקת נתונים וכד'.

מבוא לשפת SQL כל מערכות מסדי נתונים המודרניים מתבססים על שפת SQL, לדוגמא: Access Oracle, ,Microsoft SQL Server וכו'. מערכות מסדי הנתונים משתמשות ב- SQL הסטנדרטית, אולם, רובן מוסיפות עליה ומרחיבות אותה. את פקודת ה SQL ניתן להפעיל בשתי צורות : עבודה אינטרקטיבית כאשר הפעולה מתבצעת על מסד הנתונים. שילוב פקודות SQL בתוך שפה מארחת (Host Languag) .

מבוא לשפת SQL שפת DML (Data Manipulation Language) שפה לטיפול בנתונים עצמם . שפת זו מאפשרת למשתמש גישה לנתונים וטיפול בהם.השפה מכילה שפת שאילתות (Query Language ). שפת DDL (Data Definition Language) שפה המשמשת לטיפול במבנה הנתונים (הוספת ומחיקת טבלאות, שדות ואינדקסים), ולקביעת הרשאות גישה לרכיבי מסד הנתונים.

מבוא לשפת SQL שפת DML (Data Manipulation Language) משפט SELECT, המשפט המוכר ביותר בקטגוריה זו, מחזיר נתונים מתוך טבלה (או מספר טבלאות). משפט INSERT מוסיף רשומות חדשות לטבלה. משפט UPDATE מעדכן נתונים ברשומות הקיימות בטבלה. משפט DELETE מוחק רשומות נתונים מטבלה.

מבוא לשפת SQL שפת DDL (Data Definition Language) משפט CREATE, יוצר פריט מבנה חדש - טבלה, שדה וכדומה. משפט DROP, מוחק פריט קיים. משפט GRANT, מעניק זכות גישה למשתמש או לקבוצת משתמשים. משפט REVOKE, מונע זכות גישה ממשתמש או מקבוצה.

X מבוא לשפת SQL כללים ראשוניים לכתיבת פקודות SQL פקודותSQL אינן רגישות לגודל האות Case Insensitive)) , אין אבחנה בין אותיות קטנות לגדולות. ניתן לכתוב משפט SQL במספר שורות. אסור לרדת שורה באמצע מילה. SELECT = select = SeLeCt SELECT ID,LastName,First From tblPersons X SEL ECT

מבוא לשפת SQL מסד נתונים לתרגול במהלך המצגת נשתמש בתוכנת Access המאפשרת ליצור מסד נתונים ולהפעיל עליו שאילתות SQL . נשתמש במסד הנתונים Northwind.mdb המגיע עם התקנת Access . מסד נתונים זה מותקן בדרך כלל בתיקיה msoffice\Office\Samples . מסד הנתונים Northwind - מכיל מידע לגבי חברה המייבאת ומייצאת מזון ייחודי מכל העולם. הטבלאות שנשתמש במסד הנתונים NorthWind : Employees - עובדים. Product – מוצרים. Categories – קטגוריות מוצרים. Orders- הזמנות. Order Details - מוצרים בהזמנה. Customers - לקוחות. Suppliers - ספקים.

מבוא לשפת SQL מסד נתונים לתרגול

מבוא לשפת SQL הוספת שאילתא למסד הנתונים פתח את ה ACCESS . פתח את מסד הנתונים northwind.mdb . לחץ על האפשרות "שאילתות" (Queries) בחר: יצירת שאילתה בתצוגת עיצוב – "עיצוב" תוצג תיבה בעלת הכותרת "הצגת טבלה" סגור תיבה זו ובחר מהסרגל תיבת SQL (פינה שמאלית עליונה) הקלד משפט SQL ישירות סגור את החלון ע"י לחיצה על x ולחץ על "כן" בהודעת השמירה תן לשאילתה שם משמעותי השאילתה תופיע ברשימת השאילתות. להפעלת השאילתא – סמן את השאילתא המבוקשת ולחץ על "פתח"

מבוא לשפת SQL. קריאת מידע. שינוי מידע. צירופים. משפטים נוספים.

קריאת מידע משפט SELECT פקודת SELECT היא הפקודה השכיחה ביותר, תפקידה לאחזר (לשלוף) נתון או קבוצת נתונים מטבלה או מטבלאות של מסד הנתונים. מבנה הפקודה : SELECT [distinct] column_name [*,column_name.] FROM table_name [WHERE condition] [GROUP by column_name ] [HAVING condition] [ORDER BY column_name] השדות המסומנים ב [] הינם אופציונליים

קריאת מידע משפט SELECT – המשך SELECT [distinct] column_name [*,column_name.] FROM table_name [WHERE condition] [GROUP by column_name ] [HAVING condition] [ORDER BY column_name] שמות העמודות אותן עומדים לאחזר ,distinct מבטל שורות זהות שמות הטבלאות מהן מאחזרים את המידע תנאי השליפה שיקבעו אילו שורות ישלפו מאפשר הקבצת שורות מאפשר הגדרת תנאי לוגי אותו יקיימו השורות המקובצות מגדיר את סדר המיון שבו תוצג התוצאה

קריאת מידע משפט SELECT – המשך בחירת עמודות מטבלה ניתן לבחור את כל הרשומות באמצעות התו * : SELECT * FROM Employees לחילופין ניתן לבחור עמודה/ות מסוימות ממסד הנתונים ע"י עריכת רשימה של העמודות הרצויות , ערכי העמודות יוחזרו לפי סדר הופעתן ברשימה כאשר באופן אוטומטי שמות העמודות יהוו כותרות עבור התוצאות המוחזרות.

קריאת מידע משפט SELECT – המשך שליפת כל הרשומות – תוצאות SELECT * FROM Employees

קריאת מידע משפט SELECT – המשך דוגמה: בחירת השמות הפרטיים של כל העובדים שבטבלת Employees: SELECT FirstName FROM Employees בחירת מספר עובד , שם פרטי ושם משפחה של כל העובדים שבטבלת Employee SELECT EmployeeId , FirstName, LastName FROM Employees

קריאת מידע משפט SELECT – המשך תוצאת שאילתא 1 : SELECT FirstName FROM Employees

קריאת מידע משפט SELECT – המשך תוצאת שאילתא 2 : SELECT EmployeeId , FirstName, LastName FROM Employees

קריאת מידע משפט SELECT – המשך בחירת top-n"" רשומות עליונות מהתוצאה שהתקבלה SELECT top 10 * FROM Products

קריאת מידע משפט SELECT – המשך פעולות אריתמטיות - שדות חישוביים. ניתן לשלב פעולות חשבוניות על הערכים המוחזרים. דוגמה: בחירת שמות המוצרים , מחירם הרגיל ומחיר לאחר תוספת 16.5% (מע"מ) SELECT ProductName, UnitPrice, UnitPrice*1.155 FROM Products

קריאת מידע משפט SELECT – המשך כינויים - שמות חלופיים לעמודות שמות העמודות בתוצאה נקבעים באופן אוטומטי ע"פ שמות השדות במסד הנתונים , במידה ורוצים להחליף שמות אילו לשמות קריאים יותר בתוצאה יש להשתמש בכינויים (Aliases) לעמודות . באם הכינוי מכיל מילה אחת נציין את השם אחרי שם העמודה באמצעות האופרטור AS. לדוגמא: בשאילתא האחרונה כותרת העמודה של המחיר החדש נקבע ל-Expr1002 , במידה ונרצה לתת לעמודה שם משמעותי נוסיף כינוי. SELECT ProductName , UnitPrice,UnitPrice*1.165 as NewUnitPrice FROM Products

קריאת מידע משפט SELECT – המשך כינויים - שמות חלופיים לעמודות – המשך באם השם החדש מכיל יותר ממילה אחת וכולל רווחים בין המילים, מגדירים את השם החדש בין סוגריים מרובעים [ ] לדוגמא: במידה והכינוי יהיה: New Unit Price SELECT ProductName , UnitPrice,UnitPrice*1.165 as [New Unit Price] FROM Products

קריאת מידע משפט SELECT – המשך כינויים - שמות חלופיים לעמודות – המשך דוגמה: SELECT ProductName, UnitPrice, UnitPrice*1.165 AS [New Unit Price] FROM Products;

קריאת מידע משפט SELECT – המשך הצגת רשומות ללא כפילות השאילתא הבאה מבקשת את מספרי הלקוח של כל ההזמנות: SELECT distinct CustomerId FROM Orders הבעיה בשאילתא זו שמספרי הלקוחות אשר ביצעו מספר הזמנות יופיעו יותר מפעם אחת. לעיתים נרצה שיופיעו בתוצאת השאילתא רקמספרי הלקוחות שביצעו הזמנה ללא כפילויות. על מנת להתמודד עם בעיית הכפילות נגדיר DISTINCT : SELECT DISTINCT CustomerId FROM Orders

קריאת מידע משפט SELECT – המשך הצגת רשומות ללא כפילות – המשך תוצאה: SELECT distinct CustomerId FROM Orders תוצאה:

קריאת מידע משפט SELECT – המשך מיון התוצאות ניתן למיין רשומות ע"י הוספת הפסוקית Order by לשאילתא ברירת מחדל יתבצע מיון בסדר עולה (ASC) למיון בסדר יורד יש להוסיף את המילה DESC . לדוגמה: בחירת שמות העובדים מטבלת Employees ממוין לפי סדר אלפא-בית של השדה FirstName בסדר עולה. SELECT EmployeeId , FirstName, LastName FROM Employees Order by FirstName

קריאת מידע משפט SELECT – המשך מיון התוצאות – המשך FROM Employees SELECT EmployeeId , FirstName, LastName Order by FirstName

קריאת מידע משפט SELECT – המשך מיון התוצאות – המשך מיון בסדר יורד : SELECT EmployeeId , FirstName, LastName FROM Employees Order by FirstName DESC

קריאת מידע משפט SELECT – המשך שימוש ב- WHERE האופרטורים האפשריים להגדרת תנאים לוגיים האם : אופרטורים השוואתיים כגון : = , > , < , <> , => , =<. אופרטורים לוגיים כגון : AND , OR , NOT - IN בדיקת תוכן עמודה מול קבוצה מסויימת. - BETWEEN בדיקת תוכן עמודה בתחום בין ערך כלשהו לבין ערך אחר כלשהו. LIKE - בדיקת מחרוזת תווים. שים לב שתאריכים ומחרוזות יכתבו בין גרשים בתנאי.

קריאת מידע משפט SELECT – המשך שימוש ב- WHERE – המשך דוגמה: בחירת כל הפרטים של כל העובדים שבטבלת Employee אשר גרים ב- London. Select * from Employees Where City='London' בחירת קוד שמות המוצרים ומספר היחידות במלאי מטבלת Products, כאשר מספר היחידות הקיים במלאי אינו עולה על 10 Select ProductId,ProductName,UnitsInStock FROM Products Where UnitsInStock<=10

קריאת מידע משפט SELECT – המשך תוצאת השאילתא: Select ProductId,ProductName,UnitsInStock FROM Products Where UnitsInStock<=10

קריאת מידע משפט SELECT – המשך שימוש באופרטור טווח בחירת שמות המוצרים ומספר היחידות במלאי מטבלת Products, אשר מספר היחידות בין 10 ל 30 : Select ProductName,UnitsInStock FROM Products Where UnitsInStock BETWEEN 10 and 30

קריאת מידע משפט SELECT – המשך שימוש באופרטור רשימה IN שימוש באופרטור IN מאפשר לבצע השוואה לרשימת ערכים , כאשר מספיק שערך אחד יתאים על מנת שהרשימה תוחזר (היחס בין ערכי הרשימה הוא של OR ). דוגמה: בחירת כל הפרטים של כל העובדים שבטבלת Employee אשר גרים בעיר - London או Seattle או Tacoma. Select * from Employees Where City in('London','Seattle','Tacoma')

קריאת מידע משפט SELECT – המשך תוצאת שאילתא : SELECT EmployeeId, FirstName, LastName,City FROM Employees WHERE City in('London','Seattle','Tacoma');

קריאת מידע משפט SELECT – המשך שימוש באופרטורים להשוואת מחרוזות * _ [ ] האופרטור LIKE מאפשר לבצע חיפוש בתוכן מחרוזות/תת מחרוזות אופרטור זה מאפשר לבצע השוואה לחלקי מילים. משמעות תו חיפוש אוסף כלשהו של תווים , יכול להכיל אפס או יותר תווים., מכונה גם Wild Card . * מייצג תו בודד כלשהו ומתאים למחרוזת בעלת תו אחד בלבד. _ מייצג תו אחד בלבד בטווח ערכים, לדוגמא [a-f] זהה ל- [abcdef] [ ] מייצג תו אחד בלבד שאינו בטווח ערכים, לדוגמא [a-f^] זהה ל [^abcdef] [^]

קריאת מידע משפט SELECT – המשך שימוש באופרטורים להשוואת מחרוזות – המשך בחירת כל הפרטים של כל העובדים שבטבלת Employee אשר שמם הפרטי מתחיל ב- A SELECT * FROM Employees Where FIRSTNAME like 'A*' לשים לב ! כאשר השאילתא מופעלת מ #C יש להחליף את הסימן * בסימן %

קריאת מידע משפט SELECT – המשך שימוש באופרטורים להשוואת מחרוזות – המשך בחירת כל הפרטים של כל העובדים שבטבלת Employee אשר שמם הפרטי מתחיל ב- A ומסתיים ב-W . SELECT * FROM Employees Where FIRSTNAME like 'A*W

קריאת מידע פונקציות סקאלריות שפת SQL כוללת בתוכנה אוסף פונקציות פנימיות הנקראות פונקציות סקאלריות, משפטSELECT יכול להכיל בתוכו פונקציה סקאלרית. הפונקציות הן : Count - ספירה של מספר מופעים. Avg - חישוב ממוצע של ערכים. Sum - חישוב סכום ערכים. Max - מציאת הערך הגבוה ביותר מבין כל הערכים. Min - מציאת הערך הנמוך ביותר מבין כל הערכים.

קריאת מידע פונקציות סקאלריות - המשך דוגמה: ספירת מספר הזמנות SELECT COUNT(OrderID)FROM ORDERS; שליפת מספר ההזמנה האחרון שבוצע : SELECT max(OrderId) FROM Orders;

מבוא לשפת SQL. קריאת מידע. שינוי מידע. צירופים. משפטים נוספים.

שינוי מידע פקודות DML-Data Manipulation Language מאפשרות גם לבצע שינויים במידע הקיים במסד הנתונים. שפת SQL מגדירה שלוש פקודות בסיסיות : INSERT הוספת קבוצת רשומות לטבלה . UPDATE עדכון רשומה. DELETE מחיקת קבוצת רשומות מטבלה .

שינוי מידע INSERT - הוספת רשומה פקודה זו מוסיפה רשומה חדשה לטבלה במסד הנתונים: INSERT INTO table_name VALUES (value1 [value2, value3,..]) הערכים חייבים להופיע לפי סדר הגדרת השדות (העמודות) בטבלה. פקודת INSERT ושם הטבלה. הערכים של הרשומה החדשה.

שינוי מידע INSERT - הוספת רשומה - המשך דוגמה: הוספת רשומה חדשה לטבלת פריטים בהזמנה, מספר ההזמנה 10248 , Details), מספר פריט 1 , מחיר יחידה 18 , כמות 10 , הנחה 10%: INSERT INTO [Order Details] VALUES (10248,1,18,10,0.10)

שינוי מידע INSERT - הוספת רשומה - המשך השאילתא להוספה טבלת ההזמנות לפני הוספת הפריט השאילתא להוספה INSERT INTO [Order Details] VALUES (10248,1,18,10,0.10) הרשומה שנוספה

שינוי מידע INSERT - הוספת רשומה – המשך לעיתים הרשומה החדשה תכיל רק חלק מהשדות. גם כאשר המידע אינו מסודר לפי סדר הופעת העמודות, יש לציין את שמות העמודות . INSERT INTO table_name (column_name1 [,column_name2,..]) VALUES (value1 [value2, value3,..])

שינוי מידע INSERT - הוספת רשומה – המשך דוגמה הוספת פריט נוסף להזמנה (שורה נוספת) שמספרה 10248 לטבלת פריטים בהזמנה (Order Details), הוספת פריט מספר 2 , מחיר יחידה 20 , כמות 5 ללא הנחה. INSERT INTO [Order Details] (OrderID, ProductID, UnitPrice, Quantity) VALUES (10248, 2, 20, 5);

שינוי מידע INSERT - הוספת רשומה – המשך הכנסת ערכי NULL ו – DEFAULT שדות בטבלה יכולים להכיל ערך, או להשאר ריקים. כאשר מזינים שדות לטבלה ומעוניינים להשאיר ערך ריק בשדה אחד או יותר ניתן להזין את העמודה בערך NULL. אפשרות אחרת היא לספק ערך ברירת מחדל DEFAULT עבור שדה. לדוגמה: הוספת פריט נוסף להזמנה (שורה נוספת) שמספרה 10248 לטבלת פריטים בהזמנה (Order Details), הוספת פריט מספר 3 , מחיר יחידה ערך ברירת מחדל, כמות 20, הנחה 10%. INSERT INTO [Order Details] VALUES (10248, 3, DEFAULT, 20, 0.10);

שינוי מידע UPDATE - עדכון רשומות באמצעות שאילתת עדכון ניתן לשנות נתונים בשדה אחד או יותר בטבלאות קיימות.העידכון הוא לצמיתות, לא ניתן לשחזר את הערכים המקוריים. שאילתת עדכון מבצעת שינויים במידע של רשומה בטבלה. לדוגמה, העלאת מחירים של מוצר מסויים, שינוי משכורת לעובדים בקבוצת תפקידים מסוימת. UPDATE table_name SET column_name = value WHERE condition פקודת UPDATE ושם הטבלה. הערכים המעודכנים. אפשרות להוסיף תנאי לעידכון

שינוי מידע UPDATE - עדכון רשומות שאילתת להעלאת מחיר של הספק Exotic Liquids (SupplierID=1) ב-10% UPDATE Products SET UnitPrice = UnitPrice*1.10 WHERE SupplierID=1 רשימת מוצרי הספק לפני הפעלת השאילתא רשימת מוצרי הספק לאחר הפעלת השאילתא.

שינוי מידע DELETE - מחיקת רשומות שאילתת מחיקה מוחקת רשומה אחת או יותר ממסד הנתונים. המחיקה היא לצמיתות. DELETE FROM table_name WHERE condition דוגמה: מחיקת כל פרטי ההזמנה שמספרה 10260 DELETE FROM [Order Details] WHERE OrderID= 10260 פקודת DELETE ושם הטבלה. הוספת תנאי למחיקה, אחרת ימחקו כל הרשומות.

שינוי מידע DELETE - מחיקת רשומות DELETE FROM [Order Details] WHERE OrderID= 10260 רשימת פרטי ההזמנה 10260 לפני הפעלת השאילתא. רשימת פרטי ההזמנה 10260 לאחר הפעלת השאילתא.

מבוא לשפת SQL. קריאת מידע. שינוי מידע. צירופים. משפטים נוספים.

צירופים נועדו לשליפת מידע ממספר טבלאות, משפטי השילוב הם: משפט INNER JOIN . CROSS JOIN. שימוש בכינויים לטבלאות. COMPOSITE JOIN.

צירופים מדוע ? JOIN לעיתים יש צורך לשלוף מידע ממספר טבלאות. דוגמה: כאשר נשלוף רשומה נגלה ש"משה כהן" גר בעיר מספר 17 . מה זו עיר מספר 17 ? האם זה מה שנרצה להציג ללקוח?

צירופים מהו ? JOIN כאשר יש צורך במידע המשולב ממספר טבלאות נעשה ביניהן פעולת JOIN . רשומות מטבלה אחת מצורפות לרשומות מטבלה אחרת בהתאם לערכים מתאימים בעמודות המקשרות בקשרי הגומלין. ישנם שני סוגי תנאים ל JOIN : שיויון ואי שיויון.

צירופים INNER JOIN שפת SQL מסוגלת לטפל גם בשאילתות המתייחסות למספר טבלאות בו זמנית , תוך ניצול הקשרים הלוגיים המוגדרים בין הטבלאות השונות. ניתן לצרף (Join) טבלאות שונות על סמך שוויון או יחס כלשהו בין הערכים של עמודות השייכות לטבלאות שונות. הצירוף מתבצע על ידי הגדרת תנאי כלשהו בין העמודות. שאילתות המאפשרות שילוב מידע ממספר טבלאות , נקראות שאילתות Join , הן שולפות מידע ממספר טבלאות תוך ניצול הקשרים הלוגיים המוגדרים בין הטבלאות השונות. הצירוף הרגיל נקרא INNER JOIN יש אפשרות לצרף כל שני שדות מספריים מאותו סוג. לדוגמה, ניתן לצרף שדה מספור אוטומטי ושדה ארוך מאחר שמדובר בסוגים דומים. עם זאת, אין אפשרות לצרף שדות מסוג יחיד עם שדות מסוג כפול.

צירופים INNER JOIN – המשך דוגמה: FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2 פקודת INNER JOIN מכילה את החלקים הבאים: table1, - table2שמות הטבלאות שמתוכן משולבות רשומות. field1, field2 - שמות השדות המצורפים. אם אינם מספריים, על השדות להיות בעלי סוג נתונים זהה ולהכיל נתונים מאותו סוג, אך אין הם חייבים להיות בעלי שם זהה. compopr - כל אופרטור השוואה יחסי: "=", "<", ">", ‎"<="‎, ‎">="‎ או "<>".

צירופים INNER JOIN – המשך דוגמה הצגת שמות המוצרים מטבלת Products על פי הקטגוריה שלהם מטבלת Categories : SELECT CategoryName, ProductName FROM Categories, Products WHERE Categories.CategoryId=Products.CategoryId; כאשר פונים לשדה המופיע בשם זהה בשתי טבלאות יש לציין את הטבלה אליה הוא שייך לפני שם השדה.

צירופים INNER JOIN – המשך דרך נוספת לכתיבת שאילתא לצירוף טבלאות ע"י השימוש ב- INNER JOIN בפסוקית FROM . דוגמה הצגת שמות המוצרים מטבלת Products לפי הקטגוריה שלהם מטבלת Categories SELECT CategoryName, ProductName FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID

צירופים JOIN CROSS - צירוף צולב צירוף צולב ( (CROSS JOINזהו צירוף של מספר טבלאות. לדוגמא נשתמש בשתי טבלאותTable1 ו-Table2. Table1 Table2 RemarksTable1 RowTable1 Table1 row1 row2 row3 row4 RemarksTable2 RowTable2 Table2 row1 row2 row3 row4

צירופים JOIN CROSS - צירוף צולב - המשך צירוף כזה אינו שימושי. בהפעלת השאילתא הבאה : SELECT * FROM TABLE1, TABLE2 נקבל את 16שורות הבאות : נראה שכל שורה מתוך Table1 הוצמדה לכל אחת מהשורות של Table2 . צירוף כזה נקרא צירוף צולב , זהו צרוף של מספר טבלאות זו בזו. צירוף כזה אינו שימושי. כאשר בוחרים משתי טבלאות או יותר מבלי להשתמש בהוראה WHERE , מתבצע צירוף קרטזי הנקרא גם מכפלה קרטזית (Cartesian product) . צירוף מסוג זה מחבר את כל השורות מכל הטבלאות המוזכרות בהוראת FROM. אם אין צורך בצירוף כזה יש להשתמש בהוראה . WHERE

צירופים JOIN CROSS - צירוף צולב - המשך שימוש בכינויים לטבלאות לכל טבלה במסד הנתונים יש שם המוגדר בעת יצירתה . ניתן לקבוע שם חלפו או כינוי ALIAS לטבלה במקום שמה האמיתי , שימושי כאשר יש שם זהה לשדה בטבלה ורוצים לכתוב את שם הטבלה בשם אחר , לדוגמא שם קצר יותר. לדוגמא: לטבלת הקטגוריות השם יהיה cat במקום Categories וטבלה המוצרים prod במקום Products : SELECT cat.CategoryName, prod.ProductName FROM Categories cat,Products prod WHERE cat.CategoryId=prod.CategoryId

צירופים JOIN CROSS - צירוף צולב - המשך ניתן לשלב בשאילתא יותר מ-2 טבלאות . דוגמה: הצגת שמות המוצרים מטבלת Products כאשר עבור כל מוצר מצוין שם הקטגוריה ושם החברה המספקת את המוצר ממוין לפי שם החברה המספקת . SELECT CategoryName, ProductName, CompanyName FROM Categories AS cat, Products AS prod, Suppliers AS sup WHERE cat.CategoryID=prod.CategoryID AND sup.SupplierID=prod.SupplierID ORDER BY CompanyName;

צירופים JOIN CROSS - צירוף צולב - המשך תוצאת השאילתא: SELECT CategoryName, ProductName, CompanyName FROM Categories AS cat, Products AS prod, Suppliers AS sup WHERE cat.CategoryID=prod.CategoryID AND sup.SupplierID=prod.SupplierID ORDER BY CompanyName;

צירופים JOIN CROSS - צירוף צולב - המשך דוגמא לשאילתא מורכבת השולפת את שמות המוצרים,מחיר מוצר,כמות, הנחה ומחיר לאחר הנחה מטבלת פריטים בהזמנות ממוין לפי מספר ההזמנה. SELECT [Order Details].OrderID, Products.ProductName, [Order Details].UnitPrice, [Order Details].Quantity, [Order Details].Discount, CCur([Order Details].[UnitPrice]*[Quantity]*(1-[Discount])/100)*100 AS TotalPrice FROM Products INNER JOIN [Order Details] ON Products.ProductID = [Order Details].ProductID ORDER BY [Order Details].OrderID; הפונקציה Ccur הופכת את המספר למטבע ( (Currency

צירופים JOIN CROSS - צירוף צולב - המשך תוצאת השאילתא: SELECT [Order Details].OrderID, Products.ProductName, [Order Details].UnitPrice, [Order Details].Quantity, [Order Details].Discount, CCur([Order Details].[UnitPrice]*[Quantity]*(1-[Discount])/100)*100 AS TotalPrice FROM Products INNER JOIN [Order Details] ON Products.ProductID = [Order Details].ProductID ORDER BY [Order Details].OrderID;

צירופים LEFT JOIN, ‏RIGHT JOIN שילוב רשומות של טבלת מקור בעת השימוש בפסוקית FROM. FROM table1 [LEFT | RIGHT ] JOIN table2 ON table1.field1 פעולת LEFT JOIN ו- RIGHT JOIN מכילות את החלקים הבאים: table1, - table2שמות הטבלאות שמתוכן משולבות רשומות field1, field2 - שמות השדות המצורפים. על השדות להיות בעלי סוג נתונים זהה ולהכיל נתונים מאותו סוג, אך אין הם חייבים להיות בעלי שם זהה. compopr - כל אופרטור השוואה יחסי: "=", "<", ">", ‎"<="‎, ‎">="‎ או "<>".

הערות השתמש בפעולת LEFT JOIN כדי ליצור צירוף חיצוני שמאלי. צירופים חיצוניים שמאליים כוללים את כל הרשומות מן הטבלה הראשונה (השמאלית) מבין שתי טבלאות, גם אם אין ערכים תואמים עבור הרשומות בטבלה השנייה (הימנית). השתמש בפעולת RIGHT JOIN כדי ליצור צירוף חיצוני ימני. צירופים חיצוניים ימניים כוללים את כל הרשומות מן הטבלה השנייה (הימנית) מבין שתי טבלאות, גם אם אין ערכים תואמים עבור הרשומות בטבלה הראשונה (השמאלית).