Latest web development tutorials

مشغل سكليتي

ما المشغل سكليتي هو؟

المشغل هو كلمة محجوزة أو حرف، حيث يتم استخدام الشرط لتنفيذ عمليات أساسا لبيان سكليتي، مثل المقارنة والحساب.

يستخدم المشغل لتحديد بيان سكليتي من حالة وربط عدد وافر من الشروط في البيان.

  • العوامل الحسابية

  • مقارنة

  • مشغلي منطقية

  • أحادي المعامل مشغلي

العوامل الحسابية سكليتي

لنفترض أن المتغير = 10، والمتغير b = 20، ثم:

运算符描述实例
+加法 - 把运算符两边的值相加 a + b 将得到 30
-减法 - 左操作数减去右操作数 a - b 将得到 -10
*乘法 - 把运算符两边的值相乘 a * b 将得到 200
/除法 - 左操作数除以右操作数 b / a 将得到 2
%取模 - 左操作数除以右操作数后得到的余数 b % a will give 0

أمثلة

هنا مثال بسيط من العوامل الحسابية سكليتي:

سكليتي> خط .mode
سكليتي> حدد 10 + 20؛
10 + 20 = 30


سكليتي> حدد 10-20.
10--20 = -10


سكليتي> حدد 10 * 20؛
10 * 20 = 200


سكليتي> تحديد 05/10.
10/5 = 2


سكليتي> اختيار 12٪ 5؛
2 5 = 12٪

مقارنة سكليتي

لنفترض أن المتغير = 10، والمتغير b = 20، ثم:

运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。 (a == b) 不为真。
=检查两个操作数的值是否相等,如果相等则条件为真。 (a = b) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。 (a != b) 为真。
<>检查两个操作数的值是否相等,如果不相等则条件为真。 (a <> b) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (a > b) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (a < b) 为真。
>=检查左操作数的值是否大于等于右操作数的值,如果是则条件为真。 (a >= b) 不为真。
<=检查左操作数的值是否小于等于右操作数的值,如果是则条件为真。 (a <= b) 为真。
!<检查左操作数的值是否不小于右操作数的值,如果是则条件为真。 (a !< b) 为假。
!>检查左操作数的值是否不大于右操作数的值,如果是则条件为真。 (a !> b) 为真。

أمثلة

الجدول شركة افترض له السجلات التالية:

اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
1 بولس 32 ولاية كاليفورنيا 20000.0
2 ألين 25 تكساس 15000.0
3 تيدي 23 النرويج 20000.0
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0
6 كيم 22 جنوب قاعة 45000.0
7 جيمس 24 هيوستن 10000.0

يوضح المثال التالي استخدام مختلف مقارنة سكليتي.

هنا، ونحن نستخدمجملة WHERE، التي سيتم تغطيتها في فصل مستقل في الخلف، ولكن الآن تحتاج إلى فهم، ويستخدم جملة WHERE من عبارة SELECT لوضع عبارة شرطية.

يسرد عبارة SELECT بعد كل راتب سجلات أكبر من 50،000.00:

سكليتي> SELECT * FROM الشركة حيث الراتب> 50000.
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0

يسرد عبارة SELECT التالية الراتب 20،000.00 متساو لجميع السجلات:

سكليتي> SELECT * FROM الشركة حيث الراتب = 20000؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
1 بولس 32 ولاية كاليفورنيا 20000.0
3 تيدي 23 النرويج 20000.0

يسرد عبارة SELECT التالية الراتب لا تساوي جميع سجلات 20،000.00:

! سكليتي> SELECT * FROM الشركة حيث الراتب = 20000؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
2 ألين 25 تكساس 15000.0
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0
6 كيم 22 جنوب قاعة 45000.0
7 جيمس 24 هيوستن 10000.0

يسرد عبارة SELECT التالية الراتب لا تساوي جميع سجلات 20،000.00:

سكليتي> SELECT * FROM الشركة حيث الراتب <> 20000.
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
2 ألين 25 تكساس 15000.0
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0
6 كيم 22 جنوب قاعة 45000.0
7 جيمس 24 هيوستن 10000.0

يسرد عبارة SELECT التالية الراتب أكبر من مجموع كل سجلات 65،000.00:

سكليتي> SELECT * FROM الشركة حيث الراتب> = 65000؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0

العوامل المنطقية سكليتي

وهنا لائحة من مشغلي منطقي سكليتي جميع.

运算符描述
ANDAND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。
BETWEENBETWEEN 运算符用于在给定最小值和最大值范围内的一系列值中搜索值。
EXISTSEXISTS 运算符用于在满足一定条件的指定表中搜索行的存在。
ININ 运算符用于把某个值与一系列指定列表的值进行比较。
NOT ININ 运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。
LIKELIKE 运算符用于把某个值与使用通配符运算符的相似值进行比较。
GLOBGLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB 与 LIKE 不同之处在于,它是大小写敏感的。
NOTNOT 运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定运算符。
OROR 运算符用于结合一个 SQL 语句的 WHERE 子句中的多个条件。
IS NULLNULL 运算符用于把某个值与 NULL 值进行比较。
ISIS 运算符与 = 相似。
IS NOTIS NOT 运算符与 != 相似。
||连接两个不同的字符串,得到一个新的字符串。
UNIQUEUNIQUE 运算符搜索指定表中的每一行,确保唯一性(无重复)。

أمثلة

الجدول شركة افترض له السجلات التالية:

اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
1 بولس 32 ولاية كاليفورنيا 20000.0
2 ألين 25 تكساس 15000.0
3 تيدي 23 النرويج 20000.0
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0
6 كيم 22 جنوب قاعة 45000.0
7 جيمس 24 هيوستن 10000.0

يوضح المثال التالي استخدام العوامل المنطقية سكليتي.

يسرد عبارة SELECT التالية سن 25وأكبر من أو يساوي أكبر من أو تساوي الأجر لكافة السجلات 65000.00:

سكليتي> SELECT * FROM الشركة حيث AGE> = 25 والراتب> = 65000؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0

يسرد عبارة SELECT التالية سن 25أو أكبر من أو يساوي أكبر من أو تساوي الأجر لكافة السجلات 65000.00:

سكليتي> SELECT * FROM الشركة حيث AGE> = 25 أو راتب> = 65000؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
1 بولس 32 ولاية كاليفورنيا 20000.0
2 ألين 25 تكساس 15000.0
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0

يسرد عبارة SELECT التالية في السن ليس فارغة لكافة السجلات ذلك كله فقد أظهرت السجلات، وهذا يعني عدم وجود سجل من العمر يساوي NULL:

سكليتي> SELECT * FROM الشركة حيث السن ليس NULL؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
1 بولس 32 ولاية كاليفورنيا 20000.0
2 ألين 25 تكساس 15000.0
3 تيدي 23 النرويج 20000.0
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0
6 كيم 22 جنوب قاعة 45000.0
7 جيمس 24 هيوستن 10000.0

الأحرف التالية SELECT قوائم بيان الاسم إلى "كي" كل السجلات بدأ، "كي" يوجد حد بعد:

سكليتي> SELECT * FROM COMPANY حيث اسم LIKE '٪ كي'؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
6 كيم 22 جنوب قاعة 45000.0

الأحرف التالية SELECT قوائم بيان الاسم إلى "كي" كل السجلات بدأ، "كي" يوجد حد بعد:

سكليتي> SELECT * FROM COMPANY حيث اسم GLOB "كي * '؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
6 كيم 22 جنوب قاعة 45000.0

يسرد عبارة SELECT التالية كل قيمة AGE سجلات 25 أو 27:

سكليتي> SELECT * FROM الشركة حيث السن في (25، 27)؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
2 ألين 25 تكساس 15000.0
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0

يسرد عبارة SELECT التالي القيم AGE ليست 25 ولا 27 من جميع السجلات:

سكليتي> SELECT * FROM الشركة حيث AGE NOT IN (25، 27)؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
1 بولس 32 ولاية كاليفورنيا 20000.0
3 تيدي 23 النرويج 20000.0
6 كيم 22 جنوب قاعة 45000.0
7 جيمس 24 هيوستن 10000.0

يسرد عبارة SELECT بعد AGE قيم جميع السجلات بين 25 و 27:

سكليتي> SELECT * FROM الشركة حيث العمر ما بين 25 و 27؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
2 ألين 25 تكساس 15000.0
4 مارك 25 ريتش موند 65000.0
5 ديفيد 27 تكساس 85000.0

يستخدم عبارة SELECT التالية الاستعلامات الفرعية SQL، فرعي راتب العثور> حقل العمر لكافة السجلات مع 65000، وراء يستخدم جملة WHERE بالتزامن مع المشرقية المشغل، يسرد الخارجي جود AGE الاستعلام في عائدات الاستعلام الفرعية نتائج كافة السجلات:

سكليتي> AGE اختر من شركة 
        حيث يوجد (SELECT العمر من الشركة حيث الراتب> 65000)؛
AGE
----------
32
25
23
25
27
22
24

يستخدم عبارة SELECT التالية الاستعلامات الفرعية SQL، فرعي العثور على راتب> حقل العمر لكافة السجلات مع 65000، وراء حيث يتم استخدام بند و> مشغلي معا، ونتائج الاستعلام بإرجاع قائمة الاستعلام الخارجي هو أكبر من-AGE الفرعية كل السجلات من العمر:

سكليتي> حدد * من شركة 
        أين AGE> (SELECT العمر من الشركة حيث الراتب> 65000)؛
اسم معرف AGE عنوان راتب
---------- ---------- ---------- ---------- ----------
1 بولس 32 ولاية كاليفورنيا 20000.0

سكليتي المختصة بالبت مشغلي

مشغلي المختصة بالبت بناء على الشيء، والشيء عن عملية قليلا. جدول الحقيقة وو| على النحو التالي:

pqp & qp | q
0000
0101
1111
1001

افترض إذا A = 60، و B = 13، والآن في شكل ثنائي، وهي على النحو التالي:

A = 0011 1100

B = 0000 1101

-----------------

A & B = 0000 1100

A | B = 0011 1101

~ A = 1100 0011

يسرد الجدول التالي اللغات المعتمدة من قبل مشغلي قليلا سكليتي. لنفترض أن المتغير A = 60، المتغير B = 13، ثم:

运算符描述实例
&如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100
|如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A | B) 将得到 61,即为 0011 1101
~二进制补码运算符是一元运算符,具有"翻转"位效应。 (~A ) 将得到 -61,即为 1100 0011,2 的补码形式,带符号的二进制数。
<<二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 1111 0000
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A >> 2 将得到 15,即为 0000 1111

أمثلة

يوضح المثال التالي استخدام أحادي المعامل سكليتي:

سكليتي> خط .mode
سكليتي> حدد 60 | 13؛
60 | 13 = 61

سكليتي> تحديد 60 و 13؛
60 & 13 = 12

سكليتي> حدد 60 ^ 13؛
10 * 20 = 200


سكليتي> حدد (~ 60)؛
(~ 60) = -61

سكليتي> حدد (60 << 2)؛
(2 << 60) = 240

سكليتي> حدد (60 >> 2)؛
(60 >> 2) = 15