国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

獨立子查詢

2024-07-21 02:49:36
字體:
來源:轉載
供稿:網友
獨立子查詢

從這一篇開始要總結子查詢了,什么是子查詢呢?子查詢就是將內部查詢的結果供外部查詢使用,內部查詢可以取代基于常量或變量的表達式,并在運行時進行計算。通過使用子查詢,可以避免在查詢解決方案中把操作分成多個步驟,并在變量中保存中間查詢結果的需要。

子查詢可以分為獨立子查詢和相關子查詢,那么這一篇我們總結的就是獨立子查詢,我想分為以下幾個方面進行總結。

1,獨立標量子查詢

2,獨立多值子查詢

獨立標量子查詢

獨立標量子查詢就是返回單個值的子查詢,標量子查詢可以出現在外部查詢中期望使用單個值的任何地方,包括WHERE,SELECT,等等。

下面是一個例子,假設現在要查詢Orders表,返回表中訂單ID最大的訂單信息。

SQL查詢代碼:

USE TSQLFundamentals2008;GO-- 獨立標題子查詢SELECT orderid,orderdate,empid,custid FROM Sales.OrdersWHERE orderid= (SELECT MAX(orderid) FROM Sales.Orders);

查詢結果:

image

這里,有一個需要注意的地方,就是對于有效的標量子查詢,它的返回值不能超過一個(也可以沒有)。如果標量子查詢返回了多個值,在運行時就會失敗。如下面的例子,嘗試用這條查詢語句來查找姓氏以字母D開頭的職員的訂單。

SQL查詢代碼:

SELECT orderid FROM Sales.OrdersWHERE empid=(SELECT employees.empid FROM HR.Employees AS employees WHERE employees.lastname LIKE N'D%');

查詢結果:

image

獨立多值子查詢

多值子查詢就是在一個列中返回多個值的子查詢。多值子查詢通常與謂詞IN一起使用,例如,就像上面的那個例子,使用多值子查詢來寫如下查詢代碼。

SQL查詢代碼:

-- 獨立多值子查詢SELECT orderid,empid FROM Sales.OrdersWHERE empid IN (SELECT employees.empid FROM HR.Employees AS employees WHERE employees.lastname LIKE N'D%');

查詢結果:

image

注意,使用子查詢完成的任務,很多時候也可以使用聯接來解決。比如,上面的例子使用聯接來實現的話。

SQL查詢代碼:

-- 使用聯接查詢實現SELECT orders.orderid,employees.empid FROM HR.Employees AS employeesLEFT JOIN Sales.Orders AS orders ON employees.empid = orders.empidWHERE employees.lastname LIKE N'D%';

查詢結果同使用子查詢。

所以,到底是使用子查詢還是聯接查詢,這個要看具體需求。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大余县| 宝清县| 永新县| 新源县| 滁州市| 子长县| 方城县| 集贤县| 濉溪县| 滦南县| 宜兴市| 手游| 延寿县| 绥芬河市| 赣州市| 广饶县| 福州市| 苏尼特右旗| 比如县| 邛崃市| 布拖县| 奉贤区| 五指山市| 内黄县| 科技| 柘城县| 万全县| 上虞市| 桐乡市| 达拉特旗| 志丹县| 合江县| 太和县| 乐亭县| 武宣县| 齐齐哈尔市| 饶河县| 桦川县| 濮阳市| 常德市| 泰来县|