النتائج 1 إلى 2 من 2
الموضوع:

select statment Orcal

الزوار من محركات البحث: 3 المشاهدات : 588 الردود: 1
جميع روابطنا، مشاركاتنا، صورنا متاحة للزوار دون الحاجة إلى التسجيل ، الابلاغ عن انتهاك - Report a violation
  1. #1
    من أهل الدار
    мᾄḋʀἶḋ'ṩ ʛἶʀl
    تاريخ التسجيل: March-2014
    الدولة: Iraq,Thi-Qar
    الجنس: أنثى
    المشاركات: 3,271 المواضيع: 329
    صوتيات: 7 سوالف عراقية: 0
    التقييم: 1197
    مزاجي: :)
    المهنة: programmer
    موبايلي: IPhone 8Plus
    آخر نشاط: 21/February/2020
    مقالات المدونة: 3

    select statment Orcal

    استخدام Select Statment وانواعها وكيف يمكن التعامل معها

    تعرّف ال Select Statmnet على انها امر من خلاله يتيح لنا احضار بيان او مجموعة بيانات من جدول واحد او اكثر من جدول وبطرق مختلفة وحسب الشرط الذي تضعه ليس هذا فحسب بل يمكن استخدام ال select statment في معالجة العمليات على الجداول التي تطرقنا لها في الدرس السابق الا وهي Update Delete Insert
    وكذلك يمكن استخدامها مع عدة function واقصد بها معادلات جاهزة وسوف نطرق لها بالتفصيل ان شاء الله

    1- جملة SELECT البسيطة
    فكتب SELECT ثم اسم الحقول او اذا كنت تريد عرض كل الحقول اكثب * اي نجمة ثم FROM وهنا
    تعطي ايعاز ان تحدد اسم الجدول بعد ال FROM فتصبح بالشكل التالي
    SELECT *
    FROM <table_name>;
    مثال SELECT * FROM NATIONALITY هذا المثال يعرض لنا جميع محتويات جدول الجنسيات

    2- جملة ال SELECT التي تحدد فيها اسماء الحقول في الجدول
    فهي لا تختلف عن التي بالنقطة الاولى وانما تستبدل النجمة * باسماء حقول
    SELECT <column_name, column_name, ..., <column_name>
    FROM <table_name>;
    مثال
    SELECT DPT_NO,DPT_NAME FROM DEPARTMENTSهنا حددنا بالSELECT اسم الادراة ورقمها فقط وهذا هو الفرق

    3-جملة ال SELECT مع ال WHERE CONDTION
    وهي تحضع شرط مع WHERE CONDITION

    SELECT *
    FROM <table_name>
    WHERE ....
    مثال
    SELECT * FROM DEPARTMENTS
    WHERE DPT_NO='DP01'
    4- استخدام الSELECT مع UPDATE و INSERT و DELETE وكذلك انشاء الجدول
    CREATE TABLE



    أ- استخدام ال SELECT مع INSERT
    يتم الاضافة على الجدول باستخدام جملة ال INSERT وتحدد بالمقابل جملة ال SELECT وهذه الحالة تؤخذ اذا كنت تريد نسخ بيانات جدول من آخر الاضافة داخل نفس الجدول ولك حسب البيان الذي يأتي من SELECT
    INSERT INTO TABLE_NAME
    (COLOUMN1...,COLOUMN2...)
    SELECT COLOUMN1...,COLOUMN2...)
    FROM OTHER_TABLE_NAME
    WHERE .....
    مثال

    INSERT INTO DEPARTMENTS(DPT_NO,DPT_NAME)
    SELECT NAT_NO,NAT_NAME
    FROM NATIONALITY;على افتراض ان نوع الحقول في كل جدول متساوية

    ب- استخدام ال SELECT مع DELETE
    DELETE FROM TABLE_NAME
    WHERE COLOUMN_NAME IN (SELECT COLUMN FROM TABLE NAME
    WHERE ....هنا استخدمنا FUNCTION تستخدم مع WHERE CONDTION وهي IN
    ويقصد بها ان هل القيمة معينة موجودة ضمن جملة ال SELECT
    طبعا سوف نأتي لها بالتفصيل ان شاء الله ولكن نستعرضها هنا فقط بشكل مختصر

    ج - استخدام ال SELECT مع ال UPDATE
    UPDATE TABLE_NAME SET COUMN_NAME= SELECT CLOUMN_NAME FROM TABLE_NAME WHERE ....على اساس ان جملة ال SELECT ترجع قيمة واحدة لا اكثر

    د- استخدام ال SELECT مع CREATE TABLE
    القاعدة
    CREATE TABLE new_table
    AS (SELECT column_1, column2, ... column_n
    FROM old_table_1, old_table_2, ... old_table_n);وهنا تنشئ جدول باستخدام جملة ال SELECT
    مثال
    CREATE TABLE DEPT
    AS (SELECT DPT_NO,DPT_NAME FROM DEPARTMENTS
    WHERE DPT_NO='DP001')
    لاحظوا ان هذا المثال يوضح انك تقدر ان تنشئ جدول وكذلك اضافة البيانات معه وتم استخدام WHERE CONDITION لتحديد هذه البيانات واذا اردنا اضافة البيانات كلها نلغي ال WHERE


    سوف نتحدث عن الفانكشن التي تساعد فلترت البيانات وكذلك الفانكشن التي تساعد في ترتيب البيانات
    1- الفانكشن التي تساعد في فلترت البيانات هي
    * ALIASES وتسمى بالاسماء المستعارة يعني تستبدل اسم الحقل باي اسم انت تحدده كي تعرض في العناوين
    select sysdate as "My Date" from dual;

    My Date
    --------
    28-03-06 * DISTINCT وتستخدم لفلترت البيانات المتكررة وتأتي بعد جملة ال SELECT مباشرة ومن [U]مميزاتها انها تفلتر البيانات المتشابهه بالحقول التي تأتي بجملة ال SELECT او بالاحرى بالحقول التي تأتي بعدها يعني لو كانت لدينا البيانات التالية
    اسم الموظف محمد تاريخ ميلاده 20-10-1970
    اسم الموظف محمد تاريخ ميلاده 20-10-1971
    واستخدمنا جملة ال SELECT في احضار اسم الموظف وتاريخ ميلاده مع DISTINCT
    لاحظوا انه سوف يرجع القيمتين والسبب لأن تاريخ الميلاد مختلف بينما الاسم متشابه
    لكن لو طلبنا احضار اسم الموظف فقط فسوف يحضر قيمة واحدة وهي اسم الموظف
    وقاعدة استخدامها هي
    SELECT DISTINCT CLOUMN1...,COLUMN2.. FROM TABLE_NAME
    SELECT DISTINCT DPT_NAME FROM DEPARTMENTS
    * UPPER و LOWER
    وتستخدم لتحويل الاحرف الانجليزية الى CAPITAL باستخدام UPPER
    والى SMMAL باستخدام LOWER
    القاعدة
    SELECT UPPER(CLOUMN OR STRING) FROM TABLE NAME
    SELECT LOWER(CLOUMN OR STRING) FROM TABLE NAMEمثال
    SELECT LOWER('ADMIN05') FROM DUAL;
    SELECT UPPER('admin05') FROM DUAL;
    وجدول ال DUAL شرحنا عنه سابقا ارجع الى الدرس الأول
    SELECT UPPER('DPT_NAME'),LOWER(DPT_NAME FROM DEPARTMENTS هنا نعرض اسم الادارة مرة CAPITAL ومرة SMALL
    مع ملاحظة ان هذه الفانكشن لا تنطبق على احرف اللغة العربية

    * initcap وتستخدم لتحويل او حرف من كل كلمة الى capital
    select initcap(cloumname or string) from table_name
    select initcap('admin05') from dual;
    * NVL وتستخدم للتعويض عن القيم الفارغة ال NULL الى قيم نحن نحددها
    واستخداماتها في الارقام والحروف

    SELECT NVL(CLUMONAME,YOUR_VALUE) FROM TABLE NAMEمثال
    SELECT NVL(dpt_name,'not found') from departments
    select NVL(number,0) from dual
    * to_char وهي تستخدم للتحويل كل شيء الى قيمة string او ترتيب مثلا تاريخ حسب قناع معين
    select to_char(cloumn,'ur mask') from table name
    select to_char(cloumn) from table name
    select to_char(sysdate,'dd-mm-yyyy') from dual

    select to_char(sysdate) from dual;

    هذا مثال كامل على التعامل مع التاريخ وكيفية اظهاره
    Parameter Explanation
    YEAR Year, spelled out
    YYYY 4-digit year
    YYY
    YY
    Y Last 3, 2, or 1 digit(s) of year.
    IYY
    IY
    I Last 3, 2, or 1 digit(s) of ISO year.
    IYYY 4-digit year based on the ISO standard
    Q Quarter of year (1, 2, 3, 4; JAN-MAR = 1).
    MM Month (01-12; JAN = 01).
    MON Abbreviated name of month.
    MONTH Name of month, padded with blanks to length of 9 characters.
    RM Roman numeral month (I-XII; JAN = I).
    WW Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.
    W Week of month (1-5) where week 1 starts on the first day of the month and ends on the seventh.
    IW Week of year (1-52 or 1-53) based on the ISO standard.
    D Day of week (1-7).
    DAY Name of day.
    DD Day of month (1-31).
    DDD Day of year (1-366).
    DY Abbreviated name of day.
    J Julian day; the number of days since January 1, 4712 BC.
    HH Hour of day (1-12).
    HH12 Hour of day (1-12).
    HH24 Hour of day (0-23).
    MI Minute (0-59).
    SS Second (0-59).
    SSSSS Seconds past midnight (0-86399).
    FF Fractional seconds.



    The following are date examples for the to_char function.

    to_char(sysdate, 'yyyy/mm/dd'); would return '2003/07/09'
    to_char(sysdate, 'Month DD, YYYY'); would return 'July 09, 2003'
    to_char(sysdate, 'FMMonth DD, YYYY'); would return 'July 9, 2003'
    to_char(sysdate, 'MON DDth, YYYY'); would return 'JUL 09TH, 2003'
    to_char(sysdate, 'FMMON DDth, YYYY'); would return 'JUL 9TH, 2003'
    to_char(sysdate, 'FMMon ddth, YYYY'); would return 'Jul 9th, 2003'
    * ORDER BY وهي فانكشن تعنى بترتيب البيانات بشكل منظم اما تصاعدي او تنازلي وتستخدم بجملة ال SELECT وتكتب في اخر جملة ال SELECT حيث نكتبها ونكتب اسم الحقل ويكتب بعدها اذا كنت الترتيب تصاعدي ويرمز لها ب ASC ثم تنازلي ويمز بها DESC

    ORDER BY COLUMN_NAME ASC
    SELECT DPT_NO,DPT_NAME FROM DEPARTMENTS
    ORDER BY DPT_NO ASC

  2. #2
    من أهل الدار
    البرنس
    تاريخ التسجيل: January-2014
    الدولة: العراق/ اربيل
    الجنس: ذكر
    المشاركات: 2,732 المواضيع: 40
    التقييم: 840
    مزاجي: اشكر الله
    المهنة: مديرشركة
    أكلتي المفضلة: سمك مسكوف
    آخر نشاط: 22/February/2023
    مقالات المدونة: 11
    شكرا لك مجهود رائع
    موضوع جيد يستحق التقيم

تم تطوير موقع درر العراق بواسطة Samer

قوانين المنتديات العامة

Google+

متصفح Chrome هو الأفضل لتصفح الانترنت في الجوال