Presentation is loading. Please wait.

Presentation is loading. Please wait.

Database Laboratory: Session #4 Akram Shokri. DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables.

Similar presentations


Presentation on theme: "Database Laboratory: Session #4 Akram Shokri. DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables."— Presentation transcript:

1 Database Laboratory: Session #4 Akram Shokri

2 DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables Do the followings:  Select ‘ ali ’, 22, 100*4500  Select ‘ ali ’ as name, 22 as age, 100*4500 as salary  Select ISBN, title, author from book  Select ISBN, title+ ’ ‘ +author as bookSpec from book

3 DB-Lab 3 Lab Activity Select title from book, video  What is the error?  Use correlation names  An example of cross join (Cartesian product) Example of where Example of between Example of in (value1, value2, … ) Example of like Example of is null Example of insert and select of Persian values

4 Session #6

5 DB-Lab 5 Lab Activity 1: preparation 1. Install Northwind 2. Install Pubs 3. Create ER diagrams for each of them

6 DB-Lab 6 Lab Activity 2: review 1. On Northwind database: a. Select CategoryName and Description from the Categories table. b. Create a report showing the first name, last name, and country of all employees not in the United States. c. Create a report that shows the city, company name, and contact name of all customers who are in cities that begin with "A" or "B."

7 DB-Lab 7 Lab Activity 3 1. Use sorting for NO1 2. Select CompanyName, Fax, Phone, HomePage and Country from the Suppliers table sorted by Country in descending order and then by CompanyName in ascending order. 3. See ‘ orders ’ table of ‘ Northwind ’ : ‘ shipcity ’ has repeated values 4. Select shipCity, shipRegion from orders a. Use distinct

8 DB-Lab 8 Lab Activity 4 Example of top(n) 1. select top 2 * from titles Example of top n percent 2. select top 50 percent price * from titles where price>10 Example of order by  Asc  Desc Example of Union

9 DB-Lab 9 Lab Activity 5: use Pubs 1. Aggregate functions 1. select avg(price) as AvgPrice from titles t where price > 10 2. Try other functions of this list. 3. Average price for a given book title? A given type? 2. Group by 1. select type,avg(price) as AvgPrice from titles t where price > 10 group by type Aggregate FunctionDescription Countتعداد Sumمجموع Avgمیانگین Maxبزرگترین Minکوچکترین Varواریانس(انحراف معیار)

10 DB-Lab 10 چند نکته درباره توابع جمع و دسته بندی نکته اول : در هنگام استفاده از دسته بندی ( دستور Group By) بایستی حتماً فیلدهایی که در دستور Select نام برده شده اند ، در دستور Group By نیز ذکر شوند ( به غیر از فیلدهایی که در توابع جمع استفاده شده اند ) نکته دوم : در هنگام استفاده از توابع جمع ، نام ستون استفاده شده از بین می رود ، بنابر این بهتر است با استفاده از کلمه کلیدی As نامی برای ستون ایجاد شده در Result Set انتخاب کنیم. نکته سوم : برای فیلتر کردن اطلاعات جمع بندی شده ، نمی توان از دستور Where استفاده کرد به عبارت دیگر توابع جمع در دستور Where جا نمی گیرند. بدین منظور می بایست از دستور Having بعد از دستور Group By استفاده نمود. دستور Having ساختاری مشابه دستور Where دارد ولی با این تفاوت که عبارت شرطی آن از توابع جمع تشکیل شده است. دقت کنید در دستور Having نیز مانند دستور Where استفاده از اسامی مستعار و یا ستونهای مشتق شده مجاز نمی باشد.

11 DB-Lab 11 Having Example SELECT productName,SUM(unitPrice) FROM Products GROUP BY productName HAVING SUM(unitPrice)>50

12 DB-Lab 12 استفاده از اتصال ها : Join اتصال ها برای برقراری رابطه بین دو یا چند جدول به کار می رود. شامل :  Inner Join  Outer Join Left Right Full اکثر اتصال ها را می توان به صورت زیر پرس و جو ( یک پرس و جو درون دیگری ) ، پیاده سازی کرد.

13 DB-Lab 13 Left Join: use Pubs 1. SELECT t.title, p.pub_name FROM Publishers AS p INNER JOIN Titles AS t ON p.pub_id=t.pub_id ORDER BY Title ASC پرس و جوی زیر، نام و فامیل نویسنده و نام ناشرانی که شهر آنها با شهر نویسنده یکی است را بازیابی می کند. 2. SELECT a.au_fname, a.au_lname, p.pub_name FROM Authors a INNER JOIN Publishers p ON a.city=p.city ORDER BY p.pub_name ASC, a.Au_lname ASC, a.au_fname ASC

14 DB-Lab 14 Left Outer Join SELECT a.au_fname, a.au_lname, p.pub_name FROM Authors a LEFT OUTER JOIN Publishers p ON a.city=p.city ORDER BY p.pub_name ASC, a.Au_lname ASC, a.au_fname ASC جدول Authors با جدول Publishers اتصال خارجی داده شده است. در نتیجه تمام سطرهای جدول سمت چپ برگردانده می شود و از جدول سمت راست آنهایی که شرط برایشان صدق می کند، مقدار ستون مربوطه برگردانده می شود و گرنه NULL برگردانده می شود.

15 DB-Lab 15 Right Outer Join 1. SELECT a.au_fname, a.au_lname, p.pub_name FROM Authors a RIGHT OUTER JOIN Publishers p ON a.city=p.city ORDER BY p.pub_name ASC, a.Au_lname ASC, a.au_fname ASC جدول Authors با جدول Publishers اتصال خارجی داده شده است. در نتیجه تمام سطرهای جدول سمت راست برگردانده می شود و از جدول سمت چپ آنهایی که شرط برایشان صدق می کند، مقدار ستون مربوطه برگردانده می شود و گرنه NULL برگردانده می شود.

16 DB-Lab 16 Full Outer Join 1. SELECT a.au_fname, a.au_lname, p.pub_name FROM Authors a FULL OUTER JOIN Publishers p ON a.city=p.city ORDER BY p.pub_name ASC, a.Au_lname ASC, a.au_fname ASC جدول Authors با جدول Publishers به طور کامل یا دو طرفه اتصال خارجی داده شده است. در نتیجه اجتماع دو حالت Left و Right در این حالت اتفاق می افتد.


Download ppt "Database Laboratory: Session #4 Akram Shokri. DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables."

Similar presentations


Ads by Google