【正文】
s department, you can first use a subquery to determine the department in which Taylor works. You can then answer the original question with the parent SELECT statement. A subquery in the FROM clause of a SELECT statement is also called an inline view. A subquery in the WHERE clause of a SELECT statement is also called a nested subquery. Oracle performs a correlated subquery when the subquery references a column from a table referred to in the parent statement. A correlated subquery is evaluated once for each row processed by the parent statement. The parent statement can be a SELECT, UPDATE, or DELETE statement.Correlated subquery Example:SELECT department_id, last_name, salary FROM employees x WHERE salary (SELECT AVG(salary) FROM employees WHERE = department_id) ORDER BY department_id。 (3)Cartesian Products(4)Inner Joins(5)Outer Joins?left outer joinSELECT , FROM departments d LEFT OUTER JOIN employees e ON = ORDER BY 。 (2)Self JoinsSELECT ||39。MINUSSELECT product_id FROM inventoriesMINUSSELECT product_id FROM order_items。MINUSSELECT product_id FROM inventoriesMINUSSELECT product_id FROM order_items。文檔。以啟用約束。上的子查詢(xún)定位包含無(wú)效數(shù)據(jù)的行。語(yǔ)句。? 通過(guò)運(yùn)行 ? 如果表中的數(shù)據(jù)違反約束,則語(yǔ)句回退,約束仍被禁用。tableINTOindex_clause}columnUNIQUE|[schema. 使用以下命令啟用約束 :ENABLE? 所有約束并發(fā)啟用。這有如下好處:對(duì)于可延遲的主鍵約束或唯一性約束,將建立一個(gè)非唯一索引。這是啟用約束時(shí)的缺省操作。? 約束被禁用且索引已刪除。index_clause}columnUNIQUE|ENABLE[這種方法適合表上有許多 DML 活動(dòng)的情況,如在 OLTP 環(huán)境中。VALIDATE– 將 約 束定 義為 可延 遲 的 約 束。? 如果經(jīng)常向表中批量加載數(shù)據(jù),則最好先禁用約束,執(zhí)行完加載后再啟用約束。) INITIALLY DEFERRED: 表示該約束為 DEFERRABLE, 并指定缺省時(shí)只在每一事務(wù)處 理結(jié)束時(shí)檢查該約束DISABLE: 禁用完整性約束(如果禁用完整性約束,則 Oracle 服務(wù)器不執(zhí)行該約束。在創(chuàng)建表時(shí),可以使用以下語(yǔ)法定義約束:column datatype [CONSTRAINT constraint]{[NOT] NULL|UNIQUE [USING INDEX index_clause]|PRIMARY KEY [USING INDEX index_clause]|REFERENCES [schema.]table [(column)][ON DELETE CASCADE]|CHECK (condition)}constraint_state :==[NOT DEFERRABLE|DEFERRABLE [INITIALLY{IMMEDIATE|DEFERRED}]][DISABLE|ENABLE [VALIDATE|NOVALIDATE]]其中: CONSTRAINT: 使用存儲(chǔ)在數(shù)據(jù)字典中的名稱(chēng) constraint來(lái)標(biāo)識(shí)完整性約束 USING INDEX: 指定將 indexclause中定義的參數(shù)用于 Oracle 服務(wù)器使用的索引,以執(zhí)行唯一鍵約束或主鍵約束(索引的名稱(chēng)與約束的名稱(chēng)相同。請(qǐng)使用 CREATE TABLE或 ALTER TABLE語(yǔ)句中的constraint_clause子句來(lái)定義約束。它仍然獲取表級(jí)共享鎖定,但在獲取后立即釋放該鎖定。因此,僅當(dāng)包含索引的表空間聯(lián)機(jī)時(shí),該操作才能成功。如果表上有索引,則可通過(guò)鎖定索引項(xiàng)并避免子表上有更具限制性的鎖來(lái)維護(hù)引用完整性。服務(wù)器必須確保子表中的行不包含相應(yīng)的外鍵。CONTENTS可使用下列命令完成該操作:DROPCASCADE涉及父表的 DDL: 在刪除父表之前,必須先刪除外鍵。如果約束是可延遲的,并且索引是非唯一的,則使用現(xiàn)有索引。? 如果啟用約束且約束中的列構(gòu)成索引的主要部分,則無(wú)論是否將索引本身創(chuàng)建為唯一還是非唯一索引,都可以使用該索引執(zhí)行約束。}{IMMEDIATE|DEFERRED}主鍵和唯一鍵通過(guò)索引執(zhí)行。CONSTRAINTALTER ALTERSESSION語(yǔ)句還包含將約束設(shè)置為 IMMEDIATE或 DEFERRED的子句SETCONSTRAINTS語(yǔ)句重置模式。CONSTRAINTS語(yǔ)句用于將特定事務(wù)處理的約束設(shè)置為 DEFERRED或IMMEDIATE。當(dāng)同時(shí)輸入外鍵關(guān)系中的父行和子行時(shí)(如在訂單輸入系統(tǒng)中同時(shí)輸入訂單和訂單所包含的項(xiàng)目),這些約束非常有用。如果約束導(dǎo)致刪除級(jí)聯(lián)等操作,則將該操作作為引起該操作的語(yǔ)句的一部分。約束檢查 :可以將約束有效性檢查延遲到事務(wù)處理完成時(shí)進(jìn)行。?將單個(gè)約束從 ENABLE)與此類(lèi)似,當(dāng)唯一鍵或主鍵從 ENABLE轉(zhuǎn)為 DISABLE且是使用唯一索引啟用時(shí),則刪除該唯一索引。?VALIDATE和 NOVALIDATE沒(méi)有缺省的 ENABLE和 DISABLE狀態(tài)。這些狀態(tài)之間的轉(zhuǎn)換須符合以下規(guī)則:這可能會(huì)引起 DML NOVALIDATE狀態(tài),則在禁用約束時(shí)輸入的數(shù)據(jù)所引起的違反情況仍然存在。 VALIDATE: 如果約束處于此狀態(tài),則不能將違反約束的行插入到表中。但是,表可能包含無(wú)效的數(shù)據(jù),即數(shù)據(jù)違反約束。另外,約束上的索引將被刪除并且禁用約束。NOVALIDATE狀態(tài)的約束。VALIDATE?VALIDATE?如果禁用某個(gè)約束,則可以在數(shù)據(jù)庫(kù)中輸入不符合約束規(guī)則的數(shù)據(jù)。KEY約束仍須進(jìn)行管理,以確保高可用性和性能水平可接受。雖然 NOT表中的任何兩行在指定列中沒(méi)