بتاريخ: 20 يناير 201412 سنة comment_245658 بسم الله الرحمن الرحيمان شاء هنتناول شرح ال In-line View فى ال SQLايه و ظيفتها و اهميتها ؟؟ال In-line View هى طريقة لكتابة SELECT Statement عند FROMيعنى اكتب FROM (SELECT * FROM ) و بمعنى تانى انى استخدم ال Sub Query زى ال Tableالطريقة دى مفيده جدا فى حالة انى بعمل Complex Queryممكن استخدمها فى انى اعمل Join معاهاامثله على ال In-Line Viewاول مثال لو عايز اجيب الموظفين اللى عندهم اعلى مرتب فى كل اداره SELECT a.last_name, a.salary, a.department_id, b.maxsal FROM employees a, ( SELECT department_id, max(salary) maxsal FROM employees GROUP BY department_id ) b WHERE a.department_id = b.department_id AND a.salary = b.maxsal; هنا انا بستخدم Agg Function جوا ال In-Line view عشان اقدر اجيب ال Maxsal و بدى ال Function اسم تانى "Alias" و ال In-Line View بديها Alias و فى ال Main Select Statement بكتب Inline veiw Alias.Function Alias عشان استخدمها بدون Group by و اقدر اعرض معاها اكتر من Columnمثال SELECT * FROM ( SELECT deptno, count(*) emp_count FROM emp GROUP BY deptno ) emp, dept WHERE dept.deptno = emp.deptno; و دا مثال Advanced لل DBA عشان تحسب المساحه الفاضيه فى Tablespace column "Tablespace" format a13 column "Used MB" format 99,999,999 column "Free MB" format 99,999,999 column "Total MB" format 99,999,999 select fs.tablespace_name "Tablespace", (df.totalspace - fs.freespace) "Used MB", fs.freespace "Free MB", df.totalspace "Total MB", round(100 * (fs.freespace / df.totalspace)) "Pct. Free" from (select tablespace_name, round(sum(bytes) / 1048576) TotalSpace from dba_data_files group by tablespace_name ) df, (select tablespace_name, round(sum(bytes) / 1048576) FreeSpace from dba_free_space group by tablespace_name ) fs where df.tablespace_name = fs.tablespace_name; مثال منقول تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.