中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在SQL中怎么使用SQL子查詢

發布時間:2022-03-01 10:50:36 來源:億速云 閱讀:201 作者:小新 欄目:開發技術

這篇文章主要介紹了在SQL中怎么使用SQL子查詢,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

什么是子查詢?

子查詢是嵌套在另一個 SQL 查詢中的 SQL 查詢。它們幫助查詢為WHERE子句創建條件以過濾行并對它們執行操作。子查詢可以使用SELECT,INSERT,UPDATE,和DELETE語句。

WHERE 子句中的子查詢示例

我們希望在交易金額大于 1,000 元的數據庫中獲取用戶。對于我們的示例,我們將有兩個表,分別是users和transactions存儲用戶和交易信息。

在SQL中怎么使用SQL子查詢

我們可以編寫一個查詢,從transactions表中提取金額超過 1,000 美元的所有行,然后將其用作另一個查詢的條件,該查詢將users根據第一個查詢的結果從表中提取行。

查詢將如下所示:

SELECT *
FROM users
WHERE id IN
    (SELECT user_id
     FROM transactions
     WHERE amount > 1000);

子查詢的優點

  • 與連接相比,子查詢通過將它們構建為獨立的部分來提高查詢可讀性。

  • 易于理解和維護子查詢。

  • 子查詢可以替代復雜的連接和聯合。

子查詢的缺點

  • 子查詢不能在同一個 SQL 語句中修改一個表并從同一個表中進行選擇。

  • 子查詢是一項開銷很大的任務,因此使用連接操作會更快。

運行子查詢練習

我們將探索一些使用 Arctype 的示例,我們將在其中展示子查詢并了解它們是如何在應用程序中構建和使用的。

我們需要創建一個我們將在本教程中使用的數據庫。為方便起見,我創建了一個包含 SQL 文件的GitHub Gist,用于構建我們的數據庫模式并將虛擬數據插入其中。要使用它,我們需要執行以下操作:

  • 使用 Arctype 連接到我們的數據庫。

  • 導航到 Arctype 中的查詢選項卡并創建一個新查詢。

  • 粘貼并運行Gist 中的create.sql 文件以創建模式。

  • 再次導航到查詢選項卡以創建新查詢。

  • 粘貼并運行Gist 中的insert.sql 文件,用虛擬數據填充數據庫。

使用子查詢選擇數據

讓我們編寫一個查詢來從BUYER表中引用的SKU_DATA表中選擇所有行。在 Arctype 中創建一個新查詢并執行以下代碼:

SELECT *
FROM BUYER
WHERE BuyerName IN
    (SELECT BUYER
     FROM SKU_DATA);

在上面的代碼中,我們創建了一個內部查詢,該查詢BUYER從SKU_DATA表中選擇列,然后使用它作為條件從BUYER表中選擇具有相同BuyerName列值的行。

使用子查詢更新數據

讓我們編寫一個查詢,將2016 年銷售的所有商品Price的ORDER_ITEM表中列的值增加10%。在 Arctype 中創建一個新查詢并執行以下代碼:

UPDATE ORDER_ITEM
SET Price=Price*1.1
WHERE SKU IN
    (SELECT SKU
     FROM CATALOG_SKU_2016);

在上面的代碼中,我們創建了一個內部查詢,它SKU從CATALOG_SKU_2016表中選擇列來過濾我們應該在ORDER_ITEM表中更新的行。

使用子查詢刪除數據

我們將編寫一個子查詢,從INVENTORY存儲在小于 130,000 平方英尺的倉庫中的表中刪除所有記錄。查詢將如下所示:

DELETE
FROM INVENTORY
WHERE WarehouseID IN
    (SELECT WarehouseID
     FROM WAREHOUSE
     WHERE SquareFeet < 130000);

使用嵌套子查詢

也可以在另一個子查詢中包含子查詢。下面是一個例子:

SELECT *
FROM CATALOG_SKU_2017
WHERE SKU IN
    (
        SELECT SKU
        FROM INVENTORY
        WHERE WarehouseID IN
        (
            SELECT WarehouseID
            FROM WAREHOUSE
            WHERE SquareFeet > 130000
        )
    );

感謝你能夠認真閱讀完這篇文章,希望小編分享的“在SQL中怎么使用SQL子查詢”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

涿州市| 高安市| 财经| 莱州市| 高邮市| 五峰| 永兴县| 梨树县| 安宁市| 长丰县| 白朗县| 高碑店市| 金川县| 广灵县| 扶沟县| 青海省| 阿荣旗| 建德市| 监利县| 南雄市| 湘阴县| 天等县| 金沙县| 汉源县| 长顺县| 青田县| 深泽县| 蒲城县| 龙州县| 西乌珠穆沁旗| 濮阳市| 开鲁县| 环江| 团风县| 霍州市| 施甸县| 宁国市| 修文县| 汪清县| 津市市| 宣威市|