freeCodeCamp/guide/arabic/sql/sql-like-operator/index.md

4.6 KiB

title localeTitle
SQL LIKE Operator SQL LIKE المشغل

SQL LIKE المشغل

مثل المشغل المحدد

يتم استخدام معامل LIKE في WHERE أو HAVING (كجزء من GROUP BY ) لتحديد الصفوف المحددة للعناصر عندما يحتوي العمود على نمط معين من الأحرف الموجودة فيه.

سيوضح هذا الدليل:

  • تحديد ما إذا كانت السلسلة تبدأ أو تنتهي بنمط سلسلة محدد
  • تحديد ما إذا كان هناك نمط موجود في منتصف السلسلة
  • تحديد ما إذا كانت سلسلة غير موجودة في السلسلة

يبدأ العمود أو ينتهي بنمط سلسلة محدد

سيحدد هذا SQL الطلاب الذين لديهم FullName بدءًا من "Monique" أو تنتهي بـ "Greene".

SELECT studentID, FullName, sat_score, rcd_updated FROM student WHERE FullName LIKE 'Monique%' OR -- note the % at the end but not the beginning FullName LIKE '%Greene'; -- note the % at the beginning but not the end

+-----------+---------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+---------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | +-----------+---------------+-----------+---------------------+ 2 rows in set (0.00 sec)

يوجد نمط سلسلة في منتصف العمود

سيحدد هذا SQL الطلاب الذين لديهم "ree" في أي مكان في الاسم.

SELECT studentID, FullName, sat_score, rcd_updated FROM student WHERE FullName LIKE '%ree%'; -- note the % at the beginning AND at the end

+-----------+----------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+----------------+-----------+---------------------+ | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 | +-----------+----------------+-----------+---------------------+ 2 rows in set (0.00 sec)

السلسلة ليست في العمود

يمكنك وضع "NOT" قبل LIKE لاستبعاد الصفوف بنمط السلسلة بدلاً من تحديدها. يستثني هذا SQL السجلات التي تحتوي على "cer Pau" و "Ted" في العمود FullName.

SELECT studentID, FullName, sat_score, rcd_updated FROM student WHERE FullName NOT LIKE '%cer Pau%' AND FullName NOT LIKE '%"Ted"%';

+-----------+----------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+----------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 | +-----------+----------------------+-----------+---------------------+ 7 rows in set (0.00 sec)

في ما يلي قائمة الطلاب الكاملة الحالية للمقارنة مع مكان تعيين نتيجة الجملة أعلاه.

SELECT studentID, FullName, sat_score, rcd_updated FROM student;

`` `النص + ----------- + ------------------------ + ----------- + --------------------- + | studentID | FullName | درجة جلس | تحديث Rcd | + ----------- + ------------------------ + ----------- + --------------------- + | 1 | مونيك ديفيز 400 | 2017-08-16 15:34:50 | | 2 | تيري جوتيريز | 800 | 2017-08-16 15:34:50 | | 3 | سبنسر باوتير | 1000 | 2017-08-16 15:34:50 | | 4 | لويس رمزي 1200 | 2017-08-16 15:34:50 | | 5 | ألفين غرين | 1200 | 2017-08-16 15:34:50 | | 6 | صوفي فريمان 1200 | 2017-08-16 15:34:50 | | 7 | إدغار فرانك "تيد" كود 2400 | 2017-08-16 15:35:33 | | 8 | دونالد د. شامبرلين 2400 | 2017-08-16 15:35:33 | | 9 | ريمون ف. بويس 2400 | 2017-08-16 15:35:33 | + ----------- + ------------------------ + ----------- + --------------------- + 9 صفوف في مجموعة (0.00 ثانية)