【文章內(nèi)容簡介】
SQLSELECT rownum,rowid,ename FROM EMP。 執(zhí)行結(jié)果: rownum rowid ename 1 D9B3333C.0003.0002 白海燕 2 DAAAA66D.0002.0002 周楚遠 3 BAA33331.0003.0002 底雪洋 4 D555DFD.0005.0002 歐陽軍 5 DB133344.0006.0002 劉徐貝爾 …………………………….,8.別名的使用,在前面的查詢中,顯示的結(jié)果都是用字段名來顯示的,這樣不是很直觀,我們可以給顯示的字段名起一個直觀的名字(叫“別名”),以這個別名來顯示。格式是: 字段名 [as] 別名 在“字段名”和“別名”之間加空格或者“as”即可,可以將默認的字段名以設(shè)定的名稱顯示。 【例】顯示出軟件開發(fā)部的每個員工工資增加1000元后的信息。 SQLSELECT name 員工姓名,salary+1000 增加工資 FROM EMP WHERE deptname=39。軟件開發(fā)部39。,3.4.4 多表查詢,多表查詢是指查詢結(jié)果要從兩個以上的表中檢索結(jié)果。 【例】查詢員工“劉紫羽”所在的部門地址。 分析:首先確定要求中的關(guān)鍵字:劉紫羽,部門地址。然后確定查詢的表有哪些?!安块T名稱”在部門表DEPT中,但是“劉紫羽”是員工名稱,“員工名稱”在表EMP中。所以我們確定查詢的表涉及兩個表:EMP和DEPT。 SQL語句如下: SQLSELECT d.addr FROM EMP e,DEPT d WHERE e.name=39。劉紫羽39。,3.5 子查詢,如果某一個SELECT命令(查詢1)出現(xiàn)在另一個SQL命令(查詢2)的一個子句中,則稱查詢1是查詢2的子查詢,又稱為“嵌套查詢”。在SELECT查詢語句里可以嵌入SELECT查詢語句,稱為嵌套查詢。有些書中將內(nèi)嵌的SELECT語句稱為“子查詢”,子查詢形成的結(jié)果又稱為父查詢的條件。 下面是嵌套查詢的格式: SELECT 字段列表 FROM 表名 WHERE 操作符 (SELECT select_list FROM table)。,3.5.1 簡單子查詢,【例】查詢員工中所有高于員工底雪洋薪水的員工信息。 SQL 語句如下: SQLSELECT name,sex,salary FROM EMP WHERE salary= (SELECT salary FROM EMP WHERE name=39。底雪洋39。)。,3.5.2 單行子查詢,單行子查詢的結(jié)果僅返回一行記錄。一般使用比較運算符(、=、)。 【例】閱讀下面的SQL 語句,并解釋其含義。 SQLSELECT name,sex,salary FROM EMP WHERE job = (SELECT job FROM EMP WHERE name =39。底雪洋39。) AND salary (SELECT salary FROM EMP WHERE name=39。李一嵐39。)。,3.6 集合運算,3.6.1 UNION UNION 是集合的并運算,并運算的結(jié)果是參加運算的集合元素的總和,相當(dāng)于數(shù)學(xué)的加法。如圖31所示。其中集合A和集合B的交叉部分為集合C。,集合A,集合B,3.6.2 INTERSECT,INTERSECT是集合的交運算。交運算的結(jié)果是參加運算的集合元素的公共元素。 假設(shè):集合A={1,2,3},集合B={2,3,5},那么執(zhí)行INTERSECT運算的結(jié)果是{2,3}。 數(shù)學(xué)符號記為:A∩B。 在SQL語言中它返回查詢結(jié)果中的相同部分。 【例】找出account、research、sales中都存在的工種。 SQLSELECT job FROM account INTERSECT SELECT job FROM resea