1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

دستور Between ... And

شروع موضوع توسط hector2141 ‏26/7/13 در انجمن SQL

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    دستور Between ... And :

    اين دستور برای انتخاب اطلاعات در يک محدوده خاص ، در بين دو مقدار تعيين شده استفاده می شود . اين مقادير می تواند از نوع عددی ، متن يا تاريخ باشد . ( بايد نوع مدنظر با نوع داده ای فيلد های استفاده شده در دستور يکسان باشد ).
    شکل کلی اين دستور به شکل زير است :
    Select نام فيلدهای مورد نظر برای نمايش From نام جدول
    Where نام فيلد مورد نظر
    Between مقدار 1 And مقدار 2
    نکته : در مورد داده های متنی ، ترتيب قرار گيری حروف الفبا مد نظر برنامه است .
    مثال : از جدول Student مشخصات دانشجويانی را ارائه دهيد ، که نام خانوادگی آنها بين دو مقدار احمدی و حسينی باشد . در ضمن خروجی بر حسب نام خانوادگی به ترتيب حروف الفبا مرتب باشد :
    [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: 2"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select * From Student
    Where Family Between 'Ahmadi' And 'Hoseini'
    Order By family; [/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex"]
    [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"] 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"] 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]
    [/TABLE]
    [/TD]
    [TD="class: header"] مثال[/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] نکته : قرار گرقتن خود رکوردهای 2 مقدار تعيين شده در خروجی دستور Select ، بسته به نوع برنامه پايگاه و مديريت آن دارد . در برخی از پايگاه های داده رکوردهای هر 2 مقدار ابتدا و انتها نمايش داده می شود و در برخی هم فقط يکی از آنما نمايش داده می شود .
    نکته : برای نمايش اطلاعات خارج از محدوده تعيين شده از يک عملگر NOT قبل از دستور Between ... And استفاده می شود .
    مثال : از جدول student مشخصات دانشجويانی زا ارائه دهيد که نمره آنها خارج از محدوده 12 تا 15 باشد . در ضمن مقادير خروجی بر حسب نام خانوادگی به ترتيب حروف الفبا مرتب باشد :

    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] مثال [/TD]
    [/TR]
    [TR]
    [TD="class: body"] Select * From Student
    Where Grade NOT Between 12 And 15
    Order By Family ; [/TD]
    [TD="class: header"] کد[/TD]
    [/TR]
    [TR]
    [TD="class: body"] [TABLE="class: ex"]
    [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"] 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"] 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"] 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]
    [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]
    [/TABLE]
    [/TD]
    [TD="class: header"] خروجی [/TD]
    [/TR]
    [/TABLE]