2 6 5/7/2015 1 : - - PowerPoint PPT Presentation

2 6
SMART_READER_LITE
LIVE PREVIEW

2 6 5/7/2015 1 : - - PowerPoint PPT Presentation

2 6 5/7/2015 1 : SQL ANY ALL


slide-1
SLIDE 1

هداد هاگیاپ2 هسلج6

نایجرف

5/7/2015 1 سردم:نایجرف یلع دمحم

slide-2
SLIDE 2

اه هداد هاگياپ

يوج و سرپ نابز SQL

slide-3
SLIDE 3

ياهرگلمع ALL و ANY

  • رگلمع

ALL هسیاقم ربارب”ریداقم همه“ رگلمع و ANY ( SOME ) يارب“ریداقم زا کی ره” دنا هدش فیرعت.

  • لاثم : هدکشناد نایوجشناد همه زا اهنآ لدعم هک ينایوجشناد

10 تسا رتشیب.

SELECT * FROM stud WHERE avg > ALL ( SELECT avg FROM stud

WHERE clg# = 10)

slide-4
SLIDE 4

More SQL SELECT

ALL

Find the names of the employee(s) who earn the highest salary

SELECT Name FROM Employee WHERE Salary >= ALL ( SELECT Salary FROM Employee) Name Salary Mary 20,000 John 15,000 Jane 25,000 Paul 30,000

slide-5
SLIDE 5

More SQL SELECT

ANY

Find the names of employee(s) who earn more than someone else

SELECT Name FROM Employee WHERE Salary > ANY ( SELECT Salary FROM Employee)

Name Salary Mary 20,000 John 15,000 Jane 25,000 Paul 30,000

slide-6
SLIDE 6

لاثم :تسا يمقر کي و درف يددع اهنآ دک هک يياه هدکشناد.

select * from clg where clg# = ANY(1 , 3 , 5 , 7 , 9)

slide-7
SLIDE 7

ديق اب وج و سرپ”همه“

  • زا هدافتسا اب يا هطبار ربج رد میسقت رگلمع يزاسلداعم

عباوت COUNT ای و CONTAINS تسا ریذپ ناکما.

slide-8
SLIDE 8

لاثم :دنا هتفرگ ار ناشا هدکشناد ياه سرد همه هک ينايوجشناد هرامش.

SELECT stud.s# FROM stud,sec,crs WHERE stud.s#=sec.s# AND sec.c#=crs.c# GROUP BY stud.s# HAVING COUNT(DISTINCT sec.c#) = (SELECT COUNT(c#)

FROM crs

WHERE crs.clg#=stud.clg#);

slide-9
SLIDE 9

لاثم :دنا هتفرگ ار يزيربت داتسا طسوت هدش هيارا سورد يمامت هک ينايوجشناد هرامش.

SELECT sec.s# FROM sec WHERE pname=‘يزیربت’ GROUP BY sec.s# HAVING c# CONTAINS ( SELECT c#

FROM sec WHERE pname=‘يزیربت’)

slide-10
SLIDE 10

join

  • دربراک :لوادج نداد دنویپ
  • عاونا:
  • JOIN
  • (LEFT - RIGHT ) OUTER JOIN
  • FULL JOIN
  • CROSS JOIN
slide-11
SLIDE 11

NATURAL JOIN

SELECT * FROM Student NATURAL JOIN Enrolment

Enrolment ID Code 123 DBS 124 PRG 124 DBS 126 PRG Student ID Name 123 John 124 Mary 125 Mark 126 Jane ID Name 123 John 124 Mary 124 Mary 126 Jane Code DBS PRG DBS PRG

slide-12
SLIDE 12

Inner join

روتسد يلک مرف: SELECT <select list> FROM <first_table> <join_type> <second_table> [ON <join_condition>]

slide-13
SLIDE 13

INNER JOIN

SELECT * FROM Buyer INNER JOIN Property ON Price <= Budget

Property Address Price 15 High St 85,000 12 Queen St 125,000 87 Oak Row 175,000 Buyer Name Budget Smith 100,000 Jones 150,000 Green 80,000 Name Budget Address Price Smith 100,000 15 High St 85,000 Jones 150,000 15 High St 85,000 Jones 150,000 12 Queen St 125,000

slide-14
SLIDE 14

لاثم :رتويپماک هدکشناد ديتاسا يماسا

SELECT prof.pname FROM prof JOIN clg ON prof.clg#=clg.clg# WHERE clgname=‘رتویپماک’ SELECT prof.pname FROM prof, clg WHERE prof.clg#=clg.clg# AND clgname=‘رتویپماک’

slide-15
SLIDE 15

OUTER JOIN

يلک راتخاس: SELECT <SELECT list> FROM <the table you want to be the "LEFT" table> <LEFT|RIGHT> [OUTER] JOIN <table you want to be the "RIGHT" table> ON <join condition>

  • هملک زا هدافتسا

OUTER تسا يرایتخا .

  • کی

LEFT OUTER JOIN دشاب يم پچ تمس لودج تاعلبطا همه لماش.

  • کی

RIGHT OUTER JOIN دشاب يم تسار تمس لودج تاعلبطا همه لماش.

slide-16
SLIDE 16

لاثم :نآ هدنهد هيارا هدکشناد مان هارمهب ،سورد مامت مان.

SELECT cname, clgname FROM crs LEFT OUTER JOIN clg ON crs.clg# = clg.clg#

slide-17
SLIDE 17

لاثم :دنهد يم هيارا هک يسورد مان هارمهب ،اه هدکشناد مامت مان.

SELECT cname, clgname FROM crs RIGHT OUTER JOIN clg ON crs.clg# = clg.clg#

slide-18
SLIDE 18

FULL OUTER JOIN

  • نامزمه میهاوخ يم يتقو

LEFT JOIN و RIGHT JOIN ار زا میشاب هتشاد مه اب FULL JOIN مییامن يم هدافتسا.

slide-19
SLIDE 19

Cross join

  • ياهدروکر مامت اب ار پچ تمس لودج ياهدروکر مامت

دهد يم دنویپ تسار تمس لودج( .يتراکد برض هباشم)

  • Cross join

رگلمع

  • n

درادن.

  • يلک راتخاس:

SELECT <select list> FROM <first_table> <cross join> <second_table>

slide-20
SLIDE 20

CROSS JOIN

SELECT * FROM Student CROSS JOIN Enrolment

Enrolment ID Code 123 DBS 124 PRG 124 DBS 126 PRG Student ID Name 123 John 124 Mary 125 Mark 126 Jane

ID Name ID Code 123 John 123 DBS 124 Mary 123 DBS 125 Mark 123 DBS 126 Jane 123 DBS 123 John 124 PRG 124 Mary 124 PRG 125 Mark 124 PRG 126 Jane 124 PRG 123 John 124 DBS 124 Mary 124 DBS

slide-21
SLIDE 21

CROSS and NATURAL JOIN

SELECT * FROM A CROSS JOIN B

  • is the same as

SELECT * FROM A, B SELECT * FROM A NATURAL JOIN B

  • is the same as

SELECT A.col1,… A.coln, [and all other columns apart from B.col1,…B.coln] FROM A, B WHERE A.col1 = B.col1 AND A.col2 = B.col2 ...AND A.coln = B.col.n (this assumes that col1… coln in A and B have common names)

slide-22
SLIDE 22

رد لوادج عاونا SQL

  • يلصا لودج(

base table ) : روتسد اب create table دوش يم داجیا.

  • ينایم لودج(

intermediate table :) داجیا متسیس طسوت دوش يم.

  • يزاجم لودج(

veiws ) : اما درادن يکیزیف و يجراخ دوجو داد رییغت ارنآ و تشاد يسرتسد نآ هب ناوت يم.

slide-23
SLIDE 23

يزاجم لودج

  • يزاجم لوادج فده تاعلبطا زا هصلبخ لودج داجیا ،

تسا ناربراک دید ندرک دودحم و دوجوم.

  • روتسد لکش:

CREATE VIEW view_name [(attributes)] AS SELECT…

slide-24
SLIDE 24

لاثم :سرد داتسا و اه هورگ ،مان لماش يزاجم لودج.

Create view v_tablae as Select cname, sec#, pname From crs,sec Where crs.c#=sec.c#

  • هتکن : يراذگ مان دیدج ياه مان اب ار يزاجم لودج ياه نوتس ناوت يم

درک. Create view v_tablae (course , section , professor) as Select cname, sec#, pname From crs,sec Where crs.c#=sec.c#

slide-25
SLIDE 25

يسرتسد زوجم لرتنک تاروتسد

  • هتسد ود هب هداد هاگیاپ رد يسرتسد زوجم لرتنک تاروتسد

دوش يم میسقت:

  • اه هداد هب يسرتسد
  • يتیریدم تاناکما هب يسرتسد
  • دوش يم ثحب اه هداد هب يسرتسد اجنیا رد.
  • تارایتخا ءاطعا روتسد
  • تارایتخا وغل روتسد
slide-26
SLIDE 26

تارايتخا ءاطعا روتسد

  • روتسد يلک لکش:

GRANT Privileges | ALL Privileges ON Object TO Users [WITH GRANT OPTION];

  • تمسق رد

Privileges تاملک زا يبیکرت ای يکی زا

INSERT ، DELETE ، UPDATE ، SELECT ددرگ يم هدافتسا.

  • تمسق رد

Object ددرگ يم باختنا کناب رد دوجوم ءایشا زا يکی.

  • تمسق رد

Users ددرگ يم باختنا هداد هاگیاپ ناربراک زا يکی مان.

  • زا رگا

WITH GRANT OPTION

نیا دناوت يم ربراک ينعی ،دوش هدافتسا دیامن راذگاو زین رگید ناربراک هب ار اه زایتما.

slide-27
SLIDE 27

لاثم:

GRANT INSERT, SELECT, UPDATE ON crs, sec TO haghjoo, rahimi; GRANT UPDATE(degree, esp) ON prof TO naime; GRANT SELECT ON university TO Rahimi WITH GRANT OPTION;

slide-28
SLIDE 28

تارايتخا وغل روتسد

  • روتسد زا زایتما وغل يارب

REVOKE ددرگ يم هدافتسا.

  • روتسد يلک لکش:

REVOKE Privileges | ALL Privileges ON Object FROM Users

  • لاثم:

REVOKE INSERT ON crs, sec FROM haghjoo;

slide-29
SLIDE 29

مشش هسلج نایاپ

5/7/2015 سردم:نایجرف یلع دمحم 29