ملخص SQL
ملخص SQL
Where clause :
ﯾﻌﻨﻲ اﻧﺎ ﻣﺶ ﻋﺎﯾﺰ ﻛﻞ اﻟﺼﻔﻮف وﻟﻜﻦ اﻟﺼﻔﻮف اﻟﻲ ﺗﺤﻘﻖ اﻟﺸﺮط ده، ﻷﻋﻤﺪة ﻣﻌﯿﻨﺔ ﺑﺸﺮط ﻣﻌﯿﻦselect ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﻌﻤﻞ
.ﺑﺲ
SELECT column1, column2, …
FROM table_name
WHERE condition;
= Equal
<> Not equal. Note: In some versions of SQL this operator may be written
as !=
ORDER BY keyword :
ً
columns ﻣﻌﯿﻦ أو ﻣﺠﻤﻮﻋﺔcolumn ﺗﻨﺎزﻟﯿﺎ ﺣﺴﺐ ً
ﺗﺼﺎﻋﺪﯾﺎ أو ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺮﺗﺐ اﻟﻘﯿﻢ اﻟﻠﻲ ﻫﺘﻈﻬﺮ
ﻟﻠﺘﻨﺎزﻟﻲDESC ﻟﻠﺘﺼﺎﻋﺪي أوASC وﻧﺴﺘﻌﻤﻞ ﻓﯿﻬﺎ إﻣﺎ
SELECT column1, column2, …
FROM table_name
ORDER B
Y column1, column2, ... ASC|DESC;
ً
ﺳﺎﺑﻘﺎ ﺑﻨﺴﺘﺨﺪم Update ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﻌﻤﻞ ﺗﻌﺪﯾﻞ ﻋﻠﻰ ﻗﯿﻢ دﺧﻠﻨﺎﻫﺎ ﻓﻲ اﻟﺠﺪول
UPDATE table_name
value1,
= SET column1 = column2
… value2,
;WHERE condition
ﻣﻬﻢ ً
ﺟﺪا ﻟﻮ ﻣﻜﺘﺒﻨﺎش Conditionﻫﯿﺘﻢ ﺗﻌﺪﯾﻞ ﺟﻤﯿﻊ ﻗﯿﻢ اﻟﺠﺪول ﺑﺎﻟﻘﯿﻢ اﻟﺠﺪﯾﺪة اﻟﻠﻲ دﺧﻠﻨﺎﻫﺎ
ﻣﻬﻢ ﺑﺮﺿﻮ ﻟﻮ ﻣﻜﺘﺒﻨﺎش Conditionﻫﯿﺘﻢ ﺣﺬف ﻛﻞ اﻟﻘﯿﻢ أو ال recordsﻓﻲ اﻟﺠﺪول ) اﻟﻘﯿﻢ اﻟﻠﻲ ﻫﺘﺘﻤﺴﺢ ﻟﻜﻦ اﻟﺠﺪول ﻫﯿﻔﻀﻞ ﻣﻮﺟﻮد(
; DELETE * FROM table_nameأو ;DELETE FROM table_name
SQL Like operator
ﺑﻨﺴﺘﺨﺪﻣﻬﺎ ﻓﻲ ال Conditionsﻟﻤﺎ ﻧﺒﻘﻰ ﻋﺎﯾﺰﯾﻦ ﻧﺪور ﻋﻠﻰ ﺣﺎﺟﺔ ﺑﺎﻟﺸﺒﻪ ،ﯾﻌﻨﻲ ﺑﻨﺪور ﻋﻠﻰ ﺣﺎﺟﺔ ﻣﺶ ﻓﺎﻛﺮﯾﻨﻬﺎ ﺑﺲ ﻗﺮﯾﺒﺔ ﻣﻦ ﻛﻠﻤﺔ
ﻣﻌﯿﻨﺔ ،أو ﻟﻤﺎ ﻧﺒﻘﻰ ﻋﺎﯾﺰﯾﻦ ﻧﺪور ﻋﻠﻰ ﺣﺎﺟﺔ ﻣﻤﻜﻦ ﺗﺘﻜﺘﺐ ﺑﻜﺬا ﺷﻜﻞ ،زي اﺳﻢ ﻣﺤﻤﺪ Mohammed, Mohamed, ..
.…Mohammed, Mohamed
ال Likeﺑﺴﺘﻌﻤﻞ ﻣﻌﺎﻫﺎ ﺣﺎﺟﺘﯿﻦ '%' :و '_' ﻋﺸﺎن ﻧﻔﻬﻢ اﻟﻜﻤﺒﯿﻮﺗﺮ اﯾﻪ اﻻﺳﻢ اﻟﻲ ﻋﺎﯾﺰﯾﻨﻪ ﺑﺎﻟﻈﺒﻂ او ﻫﻮ ﻗﺮﯾﺐ ﻣﻦ اﯾﻪ
%ﺑﯿﺘﺤﻂ ﻣﻜﺎﻧﻬﺎ ﻣﻦ ﺻﻔﺮ ﻟﻌﺪد ﻻ ﻧﻬﺎﺋﻲ ﻣﻦ اﻟﺤﺮوف
_ ﺑﯿﺘﺤﻂ ﻣﻜﺎﻧﻬﺎ ﺣﺮف واﺣﺪ ﺑﺲ
Sql in operator
ً select ﺑﺎﺳﻢ ﻣﺆﻗﺖ واﺣﻨﺎ ﺑﻨﻌﻤﻞColumn أوtable ﺑﻨﺴﺘﺨﺪﻣﻬﺎ ﻟﻤﺎ ﻧﻜﻮن ﻋﺎوزﯾﻦ ﻧﺴﻤﻲ
ﻣﺜﻼ ﻋﺸﺎن ﯾﺒﻘﻰ واﺿﺢ ﻟﯿﻨﺎ
. اﻻﺳﻢ ﯾﺨﺘﻔﻲselect statement ﻓﻘﻂ ﯾﻌﻨﻲ ﻣﺠﺮد ﻣﺎ اﺧﻠﺺ ﻣﻦQuery وﺑﺘﺒﻘﻰ ﻣﻮﺟﻮدة أﺛﻨﺎء ال
:وﻟﻠﺠﺪول
SELECT column_name(s)
FROM table_name AS alias_name;
ً ﻟﻮ ﻗﺎﻟﻚ
: Proper name ﻣﻌﯿﻦ ﺑﺲ ﺑﺎﺳﻢ واﺿﺢcustomer ﺑﺘﺎعLocation ﻣﺜﻼ ﺗﻌﺮض ال
SELECT Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
ً
اﻋﺘﻤﺎدا ﻋﻠﻰ ﻋﻼﻗﺘﻬﻢ ﺑﺒﻌﺾ ﻟﻮ ﻋﺎﯾﺰﯾﻦ ﻧﺪﻣﺞ ﺟﺪوﻟﯿﻦ ﺑﺒﻌﺾJoin ﺑﻨﺴﺘﺨﺪم
foreign key وprimary key ﯾﻌﻨﻲ ﯾﻜﻮن ﺑﯿﻨﻬﻢ ﻋﻼﻗﺔ و
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
أو
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders, Customers
WHERE Orders.CustomerID=Customers.CustomerID;
ON وﻧﺴﺘﻌﻤﻞ ﺑﻌﺪﻫﺎJOIN أو ﻧﻔﺼﻞ ﺑﯿﻨﻬﻢ بWHERE ﯾﺎ اﻣﺎ ﻧﻔﺼﻞ ﺑﯿﻨﻬﻢ ﺑﻔﺎﺻﻠﺔ وﻧﺴﺘﻌﻤﻞ ﺑﻌﺪﻫﺎ
ﺣﺴﺐ اﻟﻌﻼﻗﺔ ﻣﺎ ﺑﯿﻨﻬﻢcondition ﻣﺎ ﺑﯿﻨﻬﻢ والjoin ﻷﻋﻤﺪة ﻣﻮﺟﻮدة ﻓﻲ ﺟﺪوﻟﯿﻦ ﺑﻨﺴﺘﻌﻤﻞselect ﯾﻌﻨﻲ ﻟﻮ ﻃﻠﺐ ﻧﻌﻤﻞ
Where First_table.primary_key = second_table.foreign_key; أوON
, AVG(column_name), SUM(column_name)
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
Group by statement :
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER B Y column_name(s);
: ﻣﺜﺎل
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;
ً ﺑﻨﺴﺘﺨﺪﻣﻬﺎ ﻟﻮ ﺣﺒﯿﻨﺎ
ﻣﺜﻼ5 ﻓﻲ اﻟﺒﻠﺪان زي اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺑﺲ ﺑﺸﺮط ان اﻟﻌﺪد ﯾﻜﻮن اﻛﺒﺮ ﻣﻦcustomers ﻣﺜﻼ ﻧﺠﯿﺐ ﻋﺪد ال
ﺑﺎﻟﻈﺒﻂWHERE زيconditions وﻧﺴﺘﺨﺪم ﻓﯿﻬﺎ
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;
5 ﻓﯿﻬﺎ أﻛﺒﺮ ﻣﻦcustomers ﺑﺲ اﻟﻠﻲ ﻋﺪد ال، ﻣﺘﺮﺗﺒﺔ ﻣﻦ اﻷﻋﻠﻰ ﻟﻸﻗﻞ، ﻓﻲ ﻛﻞ ﺑﻠﺪcustomers اﻟﻨﺎﺗﺞ ﻋﺪد ال
We use alter to :
● Add column
● Drop column
● Modify column
Sql Constraints
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
....
);
);
Unique :
ﯾﻌﻨﻲ اﻟﻘﯿﻤﺔ دي ﻣﯿﻨﻔﻌﺶ ﺗﺘﻜﺮر ﻓﻲ اﻟﺠﺪول ﺑﺘﺒﻘﻰ ﻓﺮﯾﺪة
Primary key :
ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖunique وnot null ده ﺑﯿﺒﻘﻰ
Foreign key :
ﺑﺘﺎع ﺟﺪول ﺗﺎﻧﻲ ﺧﺎﻟﺺprimary key زﯾﺎدة ﻓﻲ اﻟﺠﺪول وﺑﯿﻤﺜﻞ الcolumn ده ﺑﯿﺒﻘﻰ ﻣﻔﺘﺎح أو
Check :
ً ده ﺑﯿﺒﻘﻰ
ﻣﻌﯿﻦrange ﻏﺎﻟﺒﺎ ﻓﻲ اﻷرﻗﺎم ﺑﯿﺠﺒﺮ اﻟﻠﻲ ﯾﺪﺧﻞ ﻗﯿﻢ ﻓﻲ اﻟﺠﺪول ﯾﺪﺧﻞ رﻗﻢ ﻓﻲ
Default :
NULL ﻗﯿﻤﺔ ﻣﻌﯿﻨﺔ ﻓﻲ ﺣﺎﻟﺔ اﻟﻠﻲ ﺑﯿﺪﺧﻞ ﻗﯿﻢ ﺳﺎﺑﻪ ﻓﺎﺿﻲcolumn ده ﺑﯿﺪي ﻟﻞ