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

آموزش MySQL > اضافه کردن شرط به جستجو > عبارت Where

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

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    عبارت Where :

    در بخش اموزش دستور Select توضیح دادیم که این دستور برای استخراج و نمایش اطلاعات رکوردهای یک جدول پایگاه داده استفاده میشود . دستور Select اطلاعات فیلدهای تمام رکوردهای جدول را انتخاب و نمایش میدهد . اما گاهی نیاز داریم تا فقط اطلاعات برخی از رکوردها که مقدار یک یا چند فیلد ان مورد نظر ما هستند را نمایش دهیم.به عبارت دیگر میخواهیم خروجی دستور Select را فیلتر نماییم و فقط خروجی های مورد نظر خود را نمایش دهیم.
    برای این منظور بوسیله عبارت Where شرط یا شروطی را به دستور Select خود اضافه میکنیم تا اطلاعات خروجی فقط ویژگی های مورد نظر ما را داشته باشند.
    برای مثال در جدول اطلاعات دانشجویان میخواهیم اسامی دانشجویانی نمایش داده شوند که رشته تحصیلی انها برابر با software باشد.به عبارت دیگر رکوردهایی از جدول نمایش داده شوند که مقدار فیلد رشته تحصیلی یا major آنها برابر با مقدار software است.این شرط و سایر شرط های مورد نظر خودمان را بوسیله عبارت Where به دستور Select اضافه میکنیم.
    شکل کلی استفاده از عبارت Where بصورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    SELECT column_name(s)
    FROM table_name
    WHERE column_name operator value
    ? >
    * column_name = نام فیلد مورد نظر
    * operator = یک عملگر
    * value = مقدار مورد نظر برای شرط

    مثال : "SELECT * FROM Student
    WHERE Name = ' Ali ' " [/TD]
    [/TR]
    [/TABLE]
    به کار بردن عیارت Where در یک صفحه PHP :
    همانند سایر دستورات My SQL که در بخش های قبل توضیح دادیم برای اجرای دستورات فوق که عبارت Whereنیز در آن بکار رفته است از تابع ( ) mysql_query استفاده می کنیم. این تابع دستورات My SQLرا در صفحات PHP اجرا می کند . در مثال زیر از جدول پایگاه داده دانشجویان فرضی نام دانشجویانی که مقدار فیلد رشته تحصیلی انها برابر با software است نمایش داده شده اند .
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Example [/TD]
    [TD="class: prdes, align: left"] < ? php
    $My_Connection = mysql_connect ( " localhost " , " developer " , " Est1381 " ) ;
    if ( ! $My_Connection )
    {
    die( ' Could not connect : ' . mysql_error( ) ) ;
    }
    // در این دستور پایگاه داده مورد نظر را انتخاب کرده ایم
    mysql_select_db ( "my_db", $My_Connection );
    // software با این دستور اطلاعات دانشجویانی که رشته تحصیلی آنها
    // است را در یک متغیر ذخیره کرده ایم
    $ result = mysql_query ( "SELECT * FROM Student WHERE Major = 'Software' " ) ;
    // سپس اسامی استخراج شده را با استفاده از یک حلقه نمایش داده ایم
    while($row = mysql_fetch_array($result))
    {
    echo $row [ ' Name ' ] . " " . $row[ ' Family ' ] ;
    }
    ? > [/TD]
    [/TR]
    [/TABLE]
    تعیین بیش از یک شرط با عبارت where :
    در دستورات My SQL میتوان برای عبارت Where بیش از یک شرط تعیین نمود.برای این منظور شروط مورد نظر را بوسیله عملگرهایی منطقی به هم مرتبط میکنیم .
    برای مثال در جدول اطلاعات دانشجویان میخواهیم اطلاعات دانشجویانی نمایش داده شوند که رشته تحصیلی انها برابر با software و سال تحصیلی ورودشان 85 است.برای این منظور باید دو شرط را بوسیله یک عملگر & در کنار هم تعریف نماییم.
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] مثال [/TD]
    [TD="class: prdes, align: left"]
    "SELECT * FROM Student
    WHERE Major = ' Software ' & Year = 85 " [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR]