الوحدة 9 · CS350

🎯 أهداف التعلم

sql
SELECT FNAME, LNAME
FROM EMPLOYEE
WHERE SUPERSSN IS NULL;
3-Valued Logic Truth Tables جداول الحقيقة للمنطق ثلاثي القيم NOT / نفي AND / و OR / أو A ¬A T F F T U U A B T F U T T F U F F F F U U F U A B T F U T T T T F T F U U T U U T = True (صحيح) F = False (خاطئ) U = Unknown (مجهول)
sql
SELECT E.FNAME, E.LNAME
FROM EMPLOYEE AS E
WHERE E.SSN IN 
  (SELECT D.ESSN
   FROM DEPENDENT AS D
   WHERE E.FNAME=D.DEPENDENT_NAME);
sql
SELECT E.FNAME, E.LNAME
FROM EMPLOYEE E
WHERE NOT EXISTS (SELECT *
                  FROM DEPENDENT D
                  WHERE E.SSN=D.ESSN);
sql
SELECT E.FNAME, E.LNAME, D.DNAME
FROM (DEPARTMENT AS D LEFT OUTER JOIN EMPLOYEE AS E ON D.DNUMBER=E.DNO);
INNER JOIN تقاطع (صلة داخلية) Table A الجدول أ Table B الجدول ب SELECT * FROM A INNER JOIN B ON A.id = B.id LEFT OUTER JOIN صلة خارجية يسرى Table A الجدول أ Table B الجدول ب SELECT * FROM A LEFT JOIN B ON A.id = B.id RIGHT OUTER JOIN صلة خارجية يمنى Table A الجدول أ Table B الجدول ب SELECT * FROM A RIGHT JOIN B ON A.id = B.id FULL OUTER JOIN صلة خارجية كاملة Table A الجدول أ Table B الجدول ب SELECT * FROM A FULL JOIN B ON A.id = B.id
sql
SELECT PNUMBER, PNAME, COUNT(*)
FROM PROJECT, WORKS_ON
WHERE PNUMBER=PNO
GROUP BY PNUMBER, PNAME
HAVING COUNT(*) > 2;
Logical Execution Order of SQL Clauses ترتيب التنفيذ المنطقي لجمل SQL 1 FROM تحديد الجداول Base Dataset البيانات الأساسية 2 WHERE تصفية الصفوف Filtered Rows الصفوف المصفاة 3 GROUP BY تجميع البيانات Grouped Rows الصفوف المجمعة 4 HAVING تصفية المجموعات Filtered Groups المجموعات المصفاة 5 SELECT تحديد الأعمدة Final Columns الأعمدة النهائية 6 ORDER BY ترتيب النتائج Sorted Output النتائج المرتبة Note: The logical execution order differs from the syntax order (SELECT is written first but executed later). ملاحظة: يختلف ترتيب التنفيذ المنطقي عن ترتيب الكتابة (تُكتب SELECT أولاً ولكن تُنفذ لاحقاً).
sql
CREATE ASSERTION SALARY_CONSTRAINT
CHECK (NOT EXISTS (SELECT *
                   FROM EMPLOYEE E, EMPLOYEE M, DEPARTMENT D
                   WHERE E.SALARY > M.SALARY AND
                         E.DNO=D.DNUMBER AND 
                         D.MGRSSN=M.SSN));
sql
CREATE TRIGGER INFORM_SUPERVISOR
BEFORE INSERT OR UPDATE OF SALARY, SUPERVISOR_SSN ON EMPLOYEE
FOR EACH ROW
WHEN (NEW.SALARY > (SELECT SALARY FROM EMPLOYEE WHERE SSN=NEW.SUPERVISOR_SSN))
INFORM_SUPERVISOR (NEW.SUPERVISOR_SSN, NEW.SSN);
🎓

حديث البروفيسور

❓ اسأل البروفيسور

البطاقات التعليمية

اختبر نفسك

1 / 10 🎯 نتيجتك: 0

🔐 خزنة الامتحان

⚠️ فخ / Trap
⚠️ فخ / Trap
🤫 سر / Secret
🔑 مفهوم أساسي / Key Concept