Kodokon kodokon.com

SELECT وWHERE: قراءة البيانات وتصفيتها

تعلّم اختيار الأعمدة باستخدام SELECT، وتصفية الصفوف باستخدام WHERE، والبحث عن الأنماط باستخدام LIKE.

8 دقيقة · 3 أسئلة

افتح هذا الدرس في Kodokon

إذا كنت تبدأ جلسة جديدة، فنفّذ أولًا سكربت CREATE TABLE + INSERT من الدرس 1 من جديد. يقرأ استعلام SELECT البيانات دون أن يعدّلها إطلاقًا. بعد كلمة SELECT، تسرد الأعمدة المراد عرضها: وهذا ما يُسمى الإسقاط (projection) (اختيار الأعمدة). وبعد FROM، تشير إلى الجدول المراد قراءته.

SQL
SELECT title, price FROM books;
الإسقاط: عمودا title وprice فقط

للإبقاء على صفوف معينة فقط، أضف عبارة WHERE متبوعة بشرط. يقارن الشرط عمودًا بقيمة باستخدام مُعامِل: = (يساوي)، و<> أو != (لا يساوي)، و< (أصغر من)، و> (أكبر من)، و<= و>=. تذكير: تُكتب القيم النصية بين علامتي اقتباس مفردتين.

SQL
SELECT * FROM books WHERE genre = 'sf';

SELECT title, year FROM books WHERE year < 1950;
يُرجِع الأول 4 صفوف، والثاني 4 أيضًا

يمكنك دمج عدة شروط: يتطلب AND تحقّق الشرطين معًا، ويتطلب OR تحقّق واحد منهما على الأقل، ويعكس NOT شرطًا. وعند الشك في الأولوية، أضف الأقواس.

SQL
SELECT title, price FROM books
WHERE genre = 'sf' AND price < 8;

SELECT title FROM books
WHERE genre = 'conte' OR genre = 'aventure';
AND: صفّان (1984، Les Robots)؛ OR: 3 صفوف

وأخيرًا، يقارن المُعامِل LIKE النص بـ نمط: يمثّل الرمز البديل % أي سلسلة من الأحرف (حتى وإن كانت فارغة)، ويمثّل _ حرفًا واحدًا بالضبط. على سبيل المثال، 'D%' تعني "يبدأ بحرف D" و'%an%' تعني "يحتوي على an".

SQL
SELECT title FROM books WHERE author LIKE 'A%';

SELECT title FROM books WHERE title LIKE 'd%';

SELECT author FROM books WHERE author LIKE 'V_rne';
المؤلفون الذين تبدأ أسماؤهم بحرف A، والعناوين التي تبدأ بحرف d، ثم Verne

اختبار المعرفة

تأكّد من أنك تذكّرت النقاط الأساسية في هذا الدرس.

  1. أيّ استعلام يعرض عناوين الكتب فقط؟
    • SELECT * FROM books;
    • SELECT title FROM books;
    • SELECT books FROM title;
  2. ماذا يُرجِع الشرط WHERE price < 7؟
    • الصفوف التي سعرها أصغر تمامًا من 7
    • الصفوف التي سعرها 7 بالضبط
    • الصفوف السبعة الأولى من الجدول
  3. ما الذي يطابقه النمط LIKE 'D%'؟
    • النصوص التي تحتوي على حرف D
    • النصوص التي تنتهي بحرف D
    • النصوص التي تبدأ بحرف D