دستور Having : از اين دستور برای افزودن شرط به توابع درون ساخته SQL استفاده می شود ، زيرا از دستور Where نمی توان برای کار با مقادير خروجی توابع درون ساخته SQL استفاده کرد . به عبارت ديگر Having برای اعمال شرط به ستون ها اعمال می شود و همان کاری را می کند که Where در رکوردها انجام می دهد .با مثال های زير استفاده از دستور Having را بررسی می کنيم : نکته : دستور Having معمولا با Group By می آيد . - توجه : از داده های جداول زير در مثال های اين صفحه استفاده می کنيم : [TABLE="class: ex"] [TR] [TD="class: header, colspan: 6"] Student Table[/TD] [/TR] [TR] [TD="class: header"] Student ID[/TD] [TD="class: header"] Name[/TD] [TD="class: header"] Family[/TD] [TD="class: header"] Major[/TD] [TD="class: header"] City[/TD] [TD="class: header"] Grade[/TD] [/TR] [TR] [TD="class: body"] 41252214[/TD] [TD="class: body"] Ahmad[/TD] [TD="class: body"] Rezaee[/TD] [TD="class: body"] Hard Ware[/TD] [TD="class: body"] Tehran[/TD] [TD="class: body"] 18[/TD] [/TR] [TR] [TD="class: body"] 10724113[/TD] [TD="class: body"] Ehsan[/TD] [TD="class: body"] Amiri[/TD] [TD="class: body"] Soft Ware[/TD] [TD="class: body"] Karaj[/TD] [TD="class: body"] 14[/TD] [/TR] [TR] [TD="class: body"] 10254861[/TD] [TD="class: body"] Zahra[/TD] [TD="class: body"] Hosini[/TD] [TD="class: body"] Hard Ware[/TD] [TD="class: body"] Tehran[/TD] [TD="class: body"] 17[/TD] [/TR] [TR] [TD="class: body"] 27365187[/TD] [TD="class: body"] Sahar[/TD] [TD="class: body"] Ahmadi[/TD] [TD="class: body"] Soft Ware[/TD] [TD="class: body"] Bam[/TD] [TD="class: body"] 16[/TD] [/TR] [TR] [TD="class: body"] 35654415[/TD] [TD="class: body"] Hesam[/TD] [TD="class: body"] Razavi[/TD] [TD="class: body"] Soft Ware[/TD] [TD="class: body"] Tehran[/TD] [TD="class: body"] 19[/TD] [/TR] [/TABLE] [TABLE="class: ex"] [TR] [TD="class: header, colspan: 4"] Courses Table[/TD] [/TR] [TR] [TD="class: header"] Course ID[/TD] [TD="class: header"] Co Title[/TD] [TD="class: header"] Credit[/TD] [TD="class: header"] Co Type[/TD] [/TR] [TR] [TD="class: body"] 1011[/TD] [TD="class: body"] پايگاه داده[/TD] [TD="class: body"] 3[/TD] [TD="class: body"] عملی[/TD] [/TR] [TR] [TD="class: body"] 1012[/TD] [TD="class: body"] مباحث ويژه[/TD] [TD="class: body"] 3[/TD] [TD="class: body"] عملی[/TD] [/TR] [TR] [TD="class: body"] 1013[/TD] [TD="class: body"] زبان تخصصی[/TD] [TD="class: body"] 2[/TD] [TD="class: body"] نطری[/TD] [/TR] [/TABLE] [TABLE="class: ex"] [TR] [TD="class: header, colspan: 5"] Selection Table[/TD] [/TR] [TR] [TD="class: header"] Student ID[/TD] [TD="class: header"] Course ID[/TD] [TD="class: header"] Term[/TD] [TD="class: header"] Year[/TD] [TD="class: header"] Grade[/TD] [/TR] [TR] [TD="class: body"] 41252214[/TD] [TD="class: body"] 1011[/TD] [TD="class: body"] 2[/TD] [TD="class: body"] 85 - 86[/TD] [TD="class: body"] 16[/TD] [/TR] [TR] [TD="class: body"] 10724113[/TD] [TD="class: body"] 1011[/TD] [TD="class: body"] 2[/TD] [TD="class: body"] 85 - 86[/TD] [TD="class: body"] 14[/TD] [/TR] [TR] [TD="class: body"] 41252214[/TD] [TD="class: body"] 1012[/TD] [TD="class: body"] 1[/TD] [TD="class: body"] 85 - 86[/TD] [TD="class: body"] 17[/TD] [/TR] [TR] [TD="class: body"] 10724113[/TD] [TD="class: body"] 1012[/TD] [TD="class: body"] 1[/TD] [TD="class: body"] 85 - 86[/TD] [TD="class: body"] 11[/TD] [/TR] [TR] [TD="class: body"] 10254861[/TD] [TD="class: body"] 1013[/TD] [TD="class: body"] 2[/TD] [TD="class: body"] 85 - 86[/TD] [TD="class: body"] 13[/TD] [/TR] [TR] [TD="class: body"] 10254861[/TD] [TD="class: body"] 1011[/TD] [TD="class: body"] 2[/TD] [TD="class: body"] 84 - 85[/TD] [TD="class: body"] 8[/TD] [/TR] [TR] [TD="class: body"] 27365187[/TD] [TD="class: body"] 1012[/TD] [TD="class: body"] 1[/TD] [TD="class: body"] 84 - 85[/TD] [TD="class: body"] 19[/TD] [/TR] [TR] [TD="class: body"] 27365187[/TD] [TD="class: body"] 1013[/TD] [TD="class: body"] 1[/TD] [TD="class: body"] 84 - 85[/TD] [TD="class: body"] 16[/TD] [/TR] [TR] [TD="class: body"] 35654415[/TD] [TD="class: body"] 1011[/TD] [TD="class: body"] 2[/TD] [TD="class: body"] 84 - 85[/TD] [TD="class: body"] 9[/TD] [/TR] [TR] [TD="class: body"] 35654415[/TD] [TD="class: body"] 1013[/TD] [TD="class: body"] 2[/TD] [TD="class: body"] 84 - 85[/TD] [TD="class: body"] 17[/TD] [/TR] [/TABLE] مثال : از جدول Students , Selection مجموع نمرات و نام و نام خانواگی دانشجويانی که مجموع نمرات آنها بيش از 25 است را نمايش دهيد : [TABLE="class: ex"] [TR] [TD="class: header, colspan: 2"] مثال [/TD] [/TR] [TR] [TD="class: body"] Select Name , Family , Sum ( Selection.Grade ) As مجموع نمرات From Students , Selection Where Students.Student ID = Selection.Student ID Group By Name , Family Having Sum ( Selection.Grade ) > 25 Order By Family; [/TD] [TD="class: header"] کد [/TD] [/TR] [TR] [TD="class: body"] [TABLE="class: ex, width: 600"] [TR] [TD="class: header"] Name [/TD] [TD="class: header"] Family [/TD] [TD="class: header"] مجموع نمرات [/TD] [/TR] [TR] [TD="class: body"] Sahar [/TD] [TD="class: body"] Ahmadi [/TD] [TD="class: body, align: center"] 35 [/TD] [/TR] [TR] [TD="class: body"] Ahmad [/TD] [TD="class: body"] Rezaee [/TD] [TD="class: body, align: center"] 33 [/TD] [/TR] [/TABLE] [/TD] [TD="class: header"] خروجی[/TD] [/TR] [/TABLE] مثال : از جدول Selection و Courses نام دروسی را ارائه دهيد که 4 بار توسط دانشجويان انتخاب شده باشد : [TABLE="class: ex"] [TR] [TD="class: header, colspan: 2"] مثال [/TD] [/TR] [TR] [TD="class: body"] Select CoTitle , Count ( Selection.Course ID ) As تعداد انتخاب From Selection , Courses Where Selection.Course ID = Courses.Course ID Group By CoTitle Having Count ( Selection.Grade ) = 4 ; [/TD] [TD="class: header"] کد [/TD] [/TR] [TR] [TD="class: body"] [TABLE="class: ex, width: 400"] [TR] [TD="class: header"] CoTitle [/TD] [TD="class: header"] تعداد انتخاب [/TD] [/TR] [TR] [TD="class: body, align: center"] پايگاه داده[/TD] [TD="class: body, align: center"] 4[/TD] [/TR] [/TABLE] [/TD] [TD="class: header"] خروجی[/TD] [/TR] [/TABLE] [HR][/HR]