SQL مرجع كامل
SQL مرجع كامل
اﻟﻨﺴﺨﺔ اﻷوﱃ
2022
ﺑﺴﻢ اﷲ اﻟﺮﲪﻦ اﻟﺮﺣﻴﻢ
اﻟﺼﻔﺤﺔ اﻟﻔﺼﻞ
1 اﻟﻤﻘﺪﻣﺔ
344 اﻟﻤﺮاﺟﻊ
345 اﻟﻤﻠﺤﻖ أ
347 اﻟﻤﻠﺤﻖ ب
354 اﻟﻤﻠﺤﻖ ج
ﺍﶈﺘﻮﻳﺎﺕ
12.1اﻟﻔﻬرس 52........................................................Index
2.2.3اﻟطرﯾﻘﺔ اﻟﺛﺎﻧﯾﺔ :ﻋﻧدﻣﺎ ﯾرﺟﻊ اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ )اﻟداﺧﻠﻲ( ﺧﺎﺻﯾﺔ واﺣدة وأﻛﺛر
ﻣن ﺳﺟل 128 .......................................................................
3.2.3اﻟطرﯾﻘﺔ اﻟﺛﺎﻟﺛﺔ :ﻋﻧدﻣﺎ ﯾرﺟﻊ اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ )اﻟداﺧﻠﻲ( ﻋدة ﺧﺻﺎﺋص وأﻛﺛر
ﻣن ﺳﺟل 133 .......................................................................
2.4.5اﺳﺗﺧدام ﺧﺎﺻﯾﺔ اﻟﻘﯾﻣﺔ اﻟﺟدﯾدة NEWوﺧﺎﺻﯾﺔ اﻟﻘﯾﻣﺔ اﻟﻘدﯾﻣﺔ 244 ....... OLD
ﯾوﺟد اﻟﻛﺛﯾر ﻣن ﻟﻐﺎت اﻟﺑرﻣﺟﺔ اﻟﺣدﯾﺛﺔ ﻓﻲ وﻗﺗﻧﺎ اﻟﺣﺎﺿر ،واﻟﻘﻠﯾل ﻣﻧﻬﺎ ﻟﻪ ﺗﺎرﯾﺦ
ﻣﺛل ﻟﻐﺔ اﻟﺳﻲ Cاﻟﺗﻲ ﻟﻬﺎ ﺗﺄﺛﯾر ﻛﺑﯾر ﻓﻲ ﺗطوﯾر أﻧظﻣﺔ اﻟﺗﺷﻐﯾل Operating
Systems OSsواﻟﺧوادم .Serversﻧظﺎم اﻟﺗﺷﻐﯾل OSﯾﻘوم ﺑﺈدارة اﻟﻌدﯾد
ﻣن اﻟﺑراﻣﺞ داﺧل اﻟﺣﺎﺳوب ﻣﻧﻬﺎ ﻧظﺎم إدارة ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ،واﻟذي ﺑدورﻩ ﯾدﯾر
ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ،Databaseﺣﯾث ﯾﻌﻣل ﻣﻊ OSﻓﻲ اﻟوﺻول إﻟﻰ اﻟﺟداول
واﻟﺑﯾﺎﻧﺎت اﻟﺗﻲ ﺑداﺧﻠﻬﺎ وﻛذﻟك اﻟﻣﺣﺎﻓظﺔ ﻋﻠﯾﻬﺎ ﻣن اﻟوﺻول ﻏﯾر اﻵﻣن .ﻧظﺎم
إدارة ﻗواﻋد اﻟﺑﯾﺎﻧﺎت )Database Management System (DBMS
ﯾﺳﻣﺢ ﻟﻠﻣﺳﺗﺧدم ﺑﺈﻧﺷﺎء ﻗواﻋد ﺑﯾﺎﻧﺎت وﻛذﻟك ﻣﻧﺣﻪ اﻟﻘدرة ﻋﻠﻰ ﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت
Access ،Manipulationﻛﻣﺎ ﯾدﻋم اﻟﺗﺣﻛم ﻓﻲ اﻟوﺻول إﻟﻰ اﻟﺑﯾﺎﻧﺎت
Control Systemﻣن اﻟﻣﺳﺗﺧدﻣﯾن ﻓﻲ وﻗت واﺣد.
ﺗﻌﻣل ﻟﻐﺔ SQLﻋﻠﻰ ﻋدد ﻫﺎﺋل ﻣن اﻟﺳﺟﻼت داﺧل ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ
ﺑﺷﻛل ﺳﻬل ،ﺣﯾث ﯾﻣﻛن اﻟوﺻول اﻟﻰ ﺳﺟﻼت ﻣﺣددة ﺣﺳب ﺷرط ﻣﻌﯾن ،ﻓﻲ
اﳌﻘﺪﻣﺔ Preface
اﻟوﻗت اﻟﺗﻲ ﻗد ﺗﻌﺟز ﺑﻌض أﻧظﻣﺔ ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ﻏﯾر اﻟﻌﻼﺋﻘﯾﺔ ﻓﻲ اﻟﻘﯾﺎم
ﺑذﻟك ،وﻫذا ﻫو أﺣد اﻷﺳﺑﺎب اﻟذي ﺳﺎﻋد ﻓﻲ اﺳﺗﺧدام ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ
ﺣﺗﻰ اﻟوﻗت اﻟﺣﺎﺿر.
ﺗﻧﻘﺳم ﻟﻐﺔ SQLﻣن اﻟداﺧل إﻟﻰ ﻋدة ﻟﻐﺎت ،ﻛل ﻟﻐﺔ ﻟﻬﺎ وظﯾﻔﺔ ﻣﻌﯾﻧﺔ ﻋﻠﻰ
Data Definition ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ،ﺣﯾث أن ﻟﻐﺔ ﺗﻌرﯾف اﻟﺑﯾﺎﻧﺎت
) Language (DDLﺗﺳﺗﺧدم ﻓﻲ إﻧﺷﺎء ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ٕواﻧﺷﺎء اﻟﺟداول داﺧل
ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ﻣﻊ ﺗﺣدﯾد أﻧواع اﻟﺑﯾﺎﻧﺎت واﻟﻘﯾود اﻟﻣﻔروﺿﺔ ﻋﻠﻰ ﻫذﻩ اﻟﺑﯾﺎﻧﺎت.
وﺗﻘوم ﻟﻐﺔ ﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت)Data Manipulation Language (DML
ﺑﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت داﺧل اﻟﺟداول ﻣن إدﺧﺎل ،وﺗﻌدﯾل ،وﺣذف واﺳﺗرﺟﺎع
ﻟﻠﺑﯾﺎﻧﺎت .ﻛﻣﺎ ﺗﻘوم ﻟﻐﺔ اﻟﺗﺣﻛم واﻟﺻﻼﺣﯾﺎت Data Control Language
) (DCLﺑﻣﻧﺢ اﻣﺗﯾﺎزات )ﺻﻼﺣﯾﺎت( ﻟﻣﺳﺗﺧدﻣﻲ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت.
2
اﳌﻘﺪﻣﺔ Preface
ﺟﺎء ﻫذا اﻟﻛﺗﺎب ﻣن أﺟل ﺗوﻓﯾر ﻛﺗﺎب ﻣﻧﻬﺟﻲ ﻟﻘواﻋد اﻟﺑﯾﺎﻧﺎت اﻟﻣﺗﻘدﻣﺔ
Advanced Databaseﯾﻐطﻲ ﻓﺻﻠﯾن دراﺳﯾن .ﯾﺗﺣدث اﻟﻛﺗﺎب ﻋﻠﻰ ﻟﻐﺔ
اﻻﺳﺗﻌﻼم اﻟﻬﯾﻛﻠﯾﺔ SQLواﻟﺗﻲ ﺗﻌﺗﺑر أﺳﺎس أﻧظﻣﺔ ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ،ﺣﯾث ﯾﺷرح
ﺑﺎﻟﺗﻔﺻﯾل أواﻣرﻫﺎ وﻛﯾﻔﯾﺔ اﺳﺗﺧداﻣﻬﺎ ﺑﺎﻷﻣﺛﻠﺔ وﯾوﻓر ﻣﻧﻬﺟﯾﺔ واﺿﺣﺔ ﻣﺳﺎﻋدة
اﻟﻣﺑرﻣﺟﯾن واﻟطﻼب واﻟﻣﺳﺗﺧدﻣﯾن واﻟﻬواة ﻓﻲ ﻛﯾﻔﯾﺔ اﻟﺣﺻول ﻋﻠﻰ اﻟﻣﻌﻠوﻣﺎت
ﻣن ﺟداول ﻗواﻋد اﻟﺑﯾﺎﻧﺎت وﻛﯾﻔﯾﺔ ﻣﻧﺢ اﻣﺗﯾﺎزات )ﺻﻼﺣﯾﺎت( ﻣﺣددة
ﻟﻠﻣﺳﺗﺧدﻣﯾن ﻓﻲ اﻟوﺻول إﻟﻰ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت واﻟﻌﻣل ﻋﻠﯾﻬﺎ وﻛﯾﻔﯾﺔ إﻟﻐﺎء ﻫذﻩ
اﻻﻣﺗﯾﺎزات.
3
اﳌﻘﺪﻣﺔ Preface
ﺛم ﯾﻌرف ﻟﻐﺔ اﻻﺳﺗﻌﻼم اﻟﻬﯾﻛﻠﯾﺔ SQLوﯾﺑﯾن ﻟﻣﺎذا ﺗم دﻣﺞ أواﻣر اﻟﻠﻐﺎت
اﻻﺟراﺋﯾﺔ )ﻣﺛل دوال اﻟﺷرط (If-else ،Caseﻣﻊ أواﻣرﻫﺎ .ﺛم ﯾوﺿﺢ ﻛﯾﻔﯾﺔ
اﺳﺗﺧدام اﻟﺗﻌﻠﯾﻘﺎت Commentsﺿﻣن أواﻣر ،SQLوﯾﺗطرق إﻟﻰ أﻧواع
اﻟﺑﯾﺎﻧﺎت Data Typesاﻷرﺑﻌﺔ اﻟرﻗﻣﯾﺔ Numericواﻟﻧﺻﯾﺔ Textواﻟﻣﻧطﻘﯾﺔ
Booleanواﻟﺗﺎرﯾﺦ واﻟوﻗت ،Date and Timeﺛم ﯾﺑدأ ﻓﻲ ﺗوﺿﯾﺢ أﻣر إﻧﺷﺎء
ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت واﺳﺗﺧداﻣﻬﺎ ﺛم ﺣذﻓﻬﺎ .وﺗوﺿﯾﺢ ﻛﯾف ﯾﺗم ﺗﻛوﯾن اﻟﺟدول داﺧل
ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت وﺗﺣدﯾد اﻟﺧﺻﺎﺋص واﻟﻣﻔﺗﺎح اﻟرﺋﯾﺳﻲ واﻻﺟﻧﺑﻲ وﻓرض ﺑﻌض
اﻟﻘﯾود ،وﻛﯾف ﯾﺗم ﺗﻌدﯾل ﻓﻲ ﺑﻧﯾﺔ اﻟﺟدول وﻛﯾﻔﯾﺔ ﺣذﻓﻪ .ﺛم ﯾﺗﻛﻠم ﺑﺷﻛل ﻣﺧﺗﺻر
ﻋﻠﻰ اﻟﻔﻬرس ،Indexوﯾﺑﯾن ﻛﯾف ﯾﺗم إﻧﺷﺎء اﻟﻔﻬرس ﻟﺟدول ﺑﻧﺎء ﻋﻠﻰ ﺧﺎﺻﯾﺔ
ﻣﻌﯾﻧﺔ وﺗرﺗﯾب اﻟﻔﻬرس ﺗﺻﺎﻋدﯾﺎ أو ﺗﻧﺎزﻟﯾﺎ ،وﻛﯾف ﯾﺗم ﺣذف اﻟﻔﻬرس ،ﻣﻊ وﺟود
ﺑﻌض اﻟﺗﻧﺑﯾﻬﺎت اﻟواﺟب اﻟﺗرﻛﯾز ﻋﻠﯾﻬﺎ ﻋﻧد ﺗﻧﻔﯾذ اﻷﻣر.
اﻟﻔﺻل اﻟﺛﺎﻧﻲ ﯾﻘدم ﺗرﻛﯾﺑﺔ ﺟﻣﻠﺔ اﺳﺗرﺟﺎع وﻋرض اﻟﺑﯾﺎﻧﺎت Retrieving Data
ﻣن اﻟﺟداول ،وﯾﺑﯾن ﺗرﻛﯾﺑﺔ ﺟﻣﻠﺔ اﻻﺳﺗرﺟﺎع SELECTوﻛﯾﻔﯾﺔ اﺳﺗﺧداﻣﻬﺎ ﻣﻊ
ﺟﻣﻠﺔ ﺗﺻﻔﯾﺔ اﻟﺳﺟﻼت WHEREوﺟﻣﻠﺔ اﻟﺗرﺗﯾب ORDER BYوﺟﻣﻠﺔ إزاﻟﺔ
اﻟﺗﻛرار ،DISTINCTﺛم ﯾﻧﺗﻘل إﻟﻰ دوال اﻟﺗﺟﻣﯾﻊ Aggregate Functions
اﻟﺗﻲ ﺗﺳﺗﺧدم ﻓﻲ ﺗﻠﺧﯾص اﻟﺑﯾﺎﻧﺎت ﻣﺛل داﻟﺔ اﻟﺟﻣﻊ SUMوداﻟﺔ اﻟﻌد
COUNTوداﻟﺔ أﻋﻠﻰ ﻗﯾﻣﺔ MAXﺛم ﯾوﺿﺢ ﻛﯾﻔﯾﺔ اﻻﺳﺗﻔﺎدة ﻣن ﻫذﻩ اﻟدوال
ﻣﻊ ﺟﻣﻠﺔ اﻟﺗﺟﻣﯾﻊ GROUP BYاﻟذي ﯾﻘوم ﺑﺗﺟﻣﯾﻊ اﻟﺳﺟﻼت ﻋﻠﻰ ﺷﻛل
ﻣﺟﻣوﻋﺎت ﻋﻠﻰ ﺣﺳب ﻗﯾﻣﺔ ﺧﺎﺻﯾﺔ ﻣﻌﯾﻧﺔ ،وﯾﺑﯾن ﻛﯾف ﯾﺗم ﻓرز )ﺗﺻﻔﯾﺔ( ﻫذﻩ
اﻟﻣﺟﻣوﻋﺎت ﻋن طرﯾق ﺟﻣﻠﺔ HAVINGﻣﻊ اﻣﻛﺎﻧﯾﺔ ﺗرﺗﯾب ﻫذﻩ اﻟﻣﺟﻣوﻋﺎت
ﺗﺻﺎﻋدﯾﺎ أو ﺗﻧﺎزﻟﯾﺎ ﺑﻣﺷﺎرﻛﺔ ﺟﻣﻠﺔ اﻟﺗرﺗﯾب .ORDER BY
4
اﳌﻘﺪﻣﺔ Preface
5
اﳌﻘﺪﻣﺔ Preface
اﻟﻔﺻل اﻟﺳﺎدس ﯾﺷرح اﻟﺟدول اﻻﻓﺗراﺿﯾﺔ Virtual Tableاﻟذي ﯾﺗم ﺗﻛوﯾﻧﻪ ﻣن
ﺳﺟﻼت ﺟداول ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت واﻟذي ﯾﺳﻣﻰ اﻟرؤى )اﻟﻣﻧﺎظﯾر( ،VIEWS
وﯾﺑﯾن ﺑﻌض اﻻرﺷﺎدات اﻟواﺟب اﺗﺑﺎﻋﻬﺎ ﻗﺑل اﻟﺑدء ﻓﻲ إﻧﺷﺎء اﻟﻣﻧظﺎر ،وﯾوﺿﺢ
ﻛﯾف ﯾﺗم اﻟﺗﻌدﯾل ﻓﻲ ﺑﻧﯾﺔ اﻟﻣﻧظﺎر ،وﻣﺎذا ﯾﺣدث ﻓﻲ ﺑﯾﺎﻧﺎت اﻟﺟدول ﻋﻧد
اﻟﺗﻌدﯾل ﻓﻲ ﺑﯾﺎﻧﺎت اﻟﻣﻧظﺎر وﺑﺎﻟﻌﻛس ،وﻣﺎﻫﻲ اﻟﺷروط اﻟواﺟب ﺗوﻓرﻫﺎ ﻓﻲ
6
اﳌﻘﺪﻣﺔ Preface
اﻟﻣﻧظﺎر ،ﻣﻊ ﻋرض أﻣﺛﻠﺔ ﺗوﺿﺢ ذﻟك ،ﺛم ﯾوﺿﺢ ﻣزاﯾﺎ وﻋﯾوب اﻟﻣﻧظﺎر ،وﻛﯾف
ﯾﺗم ﻋرض ﺗرﻛﯾﺑﺔ اﻟﻣﻧظﺎر وﻛﯾف ﯾﺗم ﺣذﻓﻪ.
اﻟﻣﻼﺣق Appendices
اﻟﻣﻠﺣق أ ﯾﺑﯾن ﻣﺧطط ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ Relational Database
Schemasاﻟﻣﺳﺗﺧدﻣﺔ ﻓﻲ ﻫذا اﻟﻛﺗﺎب.
7
اﳌﻘﺪﻣﺔ Preface
اﻟﻣراﺟﻊ References
ﺗﺣﺗوي اﻟﻣراﺟﻊ ﻋﻠﻰ اﻟﻛﺗب اﻟﺗﻲ ﺗم اﻻﻋﺗﻣﺎد ﻋﻠﯾﻬﺎ ﻓﻲ ﺗﺄﻟﯾف ﻫذا اﻟﻛﺗﺎب.
ﻛﻣﺎ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﺑﻌض ﺗﻔﺎﺻﯾل اﻟﻛﺗﺎب ﻋﺑر اﻟﺻﻔﺣﺔ اﻟﺧﺎﺻﺔ ﺑﺎﻟﻛﺗﺎب
ﺑﺎﻟﻣوﻗﻊ ﻋﻠﻰ اﻟراﺑط .https://hassanebrahem.com.ly/books/
أﻋﺿﺎء ﻫﯾﺋﺔ اﻟﺗدرﯾس واﻟﻣﻬﺗﻣﯾن اﻟذﯾن ﯾرﻏﺑون ﻓﻲ اﺳﺗﺧدام ﻫذا اﻟﻛﺗﺎب ﻓﻲ
ﺗدرﯾس ﻟﻐﺔ اﻻﺳﺗﻌﻼم اﻟﻬﯾﻛﻠﯾﺔ ﻓﻲ اﻟﻔﺻول اﻟدراﺳﯾﺔ وﯾرﯾدون اﻟﺣﺻول ﻋﻠﻰ
ﺷراﺋﺢ اﻟﻌرض اﻟﺧﺎﺻﺔ ﺑﺎﻟﻛﺗﺎب ﻓﻲ ﻣﻠف ﻧوع ،PowerPointﯾﺗم اﻟﻣراﺳﻠﺔ
اﻟﺗﺎﻟﻲ اﻟراﺑط ﻋﻠﻰ ﺑﻲ اﺗﺻل ﺻﻔﺣﺔ ﻋﺑر
،https://hassanebrahem.com.ly/contact-me/ﻛﻣﺎ ﯾوﺟد ﺷرح
ﻣرﻓق ﻣﻊ اﻟﻣﺣﺎﺿرات ﻓﻲ ﺷﻛل ﻣﻠﻔﺎت ﺻوﺗﯾﺔ.
8
اﳌﻘﺪﻣﺔ Preface
ﻟﻣزﯾد ﻣن اﻟﻣﻌﻠوﻣﺎت ﺣول اﻟﻛﺗب ،وﻣراﻛز اﻟﺗوزﯾﻊ راﺟﻊ ﻣوﻗﻊ اﻟوﯾب ﻋﻠﻰ اﻟراﺑط
.https://hassanebrahem.com.ly/books/
9
اﳌﻘﺪﻣﺔ Preface
د .ﻛﻣﺎل اﻟﻣﺑروك ﻣﻔﺗﺎح ،وﻛﯾل اﻟﺷؤون اﻟﻌﻠﻣﯾﺔ ،ﻛﻠﯾﺔ اﻟﻌﻠوم ،ﺟﺎﻣﻌﺔ ﻏرﯾﺎن.
د .ﻋﻣر ﻣﻔﺗﺎح أﺑوذﯾﻧﺔ ،ﻗﺳم اﻟﺣﺎﺳب اﻵﻟﻲ ،ﻛﻠﯾﺔ اﻟﻌﻠوم ،ﺟﺎﻣﻌﺔ ﻏرﯾﺎن.
د .ﺧﻠﯾﻔﺔ ﻋﺑداﷲ ﺣﺳن ،وﻛﯾل اﻟﺷؤون اﻟﻌﻠﻣﯾﺔ ،ﻛﻠﯾﺔ اﻵداب ،ﺟﺎﻣﻌﺔ ﻏرﯾﺎن.
10