SQL Lecture
SQL Lecture
Systems
[email protected]
SQL ( Structured Query Language)
Slide 8- 3
SQL الجداول بإستخدام
إسم الجدول
Product إسم الحقل
السجالت
Data Types in SQL
بعض أنواع البيانات فى SQL
• أنواع البيانات
– Characters:النصوص
) CHAR(20نص ثابت الطول) , VARCHAR(50نص متغير
الطول
– Numbers:األرقام
INTارقام حقيقية Double ,أرقام عشرية
– أخرى:
, DATETIMEتاريخ… ,
SELECT *
FROM Product
WHERE category=‘Gadgets’
اإلختيار
SingleTouch $149.99 Canon
MultiTouch $203.99 Hitachi
Notation
الجدول األساسى
المخرجات
Details
لغة SQLليست حساسة Not case sensitive
– نفس الكتابة تتساوى فى األوامر SELECT Select select
– نفس الكتابة تتساوى بالنسبة السماء الحقول Product
product
– تختلف فقط فى االستعالم بالنص ’‘Cairo’ ‘cairo
مثل The LIKE operator
* SELECT
FROM Products
’WHERE PName LIKE ‘%gizmo%
s LIKE p: •
تقارن بين نصين متشابهين تماما فى اإلستعالم
وهناك رمزان يمكن استخدامهما إلستبدال الحروف فى اإلستعالم •
%ويمكن استبدالها بأى مجموعة متتالية من الحروف
_ و يمكن استبدال هذا الرمز بحرف واحد فقط
تقليل التكرارات فى نتيجة اإلستعالم
Distinct مميز
Category
SELECT DISTINCT category Gadgets
FROM Product Photography
Household
?
SELECT DISTINCT category
FROM Product
ORDER BY PName
Keys and Foreign Keys
PK المفتاح األساسى
Company
StockPrice
CName Country البلد
سعر المنتج
GizmoWorks 25 USA
Canon 65 Japan
WHERE Manufacturer=CName
AND Country=‘Japan’
AND Price <= 200
Joins الربط
Product Company
Manufacture
PName Price Category
r
Gizmo $19.99 Gadgets GizmoWorks Cname StockPrice Country
Powergizmo $29.99 Gadgets GizmoWorks GizmoWorks 25 USA
SingleTouch $149.99 Photography Canon Canon 65 Japan
MultiTouch $203.99 Household Hitachi Hitachi 15 Japan
or category =‘toy’
WHERE
AND Country=‘China ’
A Subtlety about Joins
Product (pname, price, category,
manufacturer)
Company (cname, stockPrice, country)
SELECT Country
FROM Product, Company
WHERE Manufacturer=CName
AND Category=‘Gadgets’
Unexpected duplicates
A Subtlety about Joins
Product Company
Name Price Category Manufacturer Cname StockPrice Country
Gizmo $19.99 Gadgets GizmoWorks GizmoWorks 25 USA
Powergizmo $29.99 Gadgets GizmoWorks Canon 65 Japan
SingleTouch $149.99 Photography Canon Hitachi 15 Japan
MultiTouch $203.99 Household Hitachi
SELECT Country
FROM Product, Company
WHERE Manufacturer=CName
AND Category=‘Gadgets’
Country
What’s the ??
solution ?
Stopped here
Tuple Variables
Person(pname, address, worksfor)
Company(cname, address)
Which
SELECT DISTINCT pname, address address ?
FROM Person, Company
WHERE worksfor = cname
We probably want:
What do
SELECT Sum(price * quantity) they mean ?
FROM Purchase
WHERE product = ‘bagel’
Simple Aggregations
Purchase
Product Date Price Quantity
Bagel 10/21 1 20
Banana 10/3 0.5 10
Banana 10/10 1 10
Bagel 10/25 1.50 20