zoukankan      html  css  js  c++  java
  • EXISTS 的語法【转】

    在上一頁中,我們用 IN 來連接內查詢和外查詢。另外有數個方式,例如 >, <, 及 =,都可以用來連接內查詢和外查詢。 EXISTS 也是其中一種方式。這一頁我們將討論 EXISTS 的用法。

    基本上, EXISTS 是用來測試內查詢有沒有產生任何結果。如果有的話,系統就會執行外查詢中的 SQL。若是沒有的話,那整個 SQL 語句就不會產生任何結果。

    EXISTS 的語法是:

    SELECT "欄位1"
    FROM "表格1"
    WHERE EXISTS
    (SELECT *
    FROM "表格2"
    WHERE [條件])

    在內查詢中,我們並不一定要用 * 來選出所有的欄位。我們也可以選擇表格2中的任何欄位。這兩種做法最後的結果是一樣的。

    來看一個例子。假設我們有以下的兩個表格:

    Store_Information 表格

    store_name Sales Date
    Los Angeles $1500 Jan-05-1999
    San Diego $250 Jan-07-1999
    Los Angeles $300 Jan-08-1999
    Boston $700 Jan-08-1999

    Geography 表格

    region_name store_name
    East Boston
    East New York
    West Los Angeles
    West San Diego

    而我們打入的 SQL 是:

    SELECT SUM(Sales) FROM Store_Information
    WHERE EXISTS
    (SELECT * FROM Geography
    WHERE region_name = 'West')

    我們會得到以下的答案:

    SUM(Sales)
    2750

    乍看之下,這個答案似乎不太正確,因為內查詢有包含一個 [region_name = 'West'] 的條件,可是最後的答案並沒有包含這個條件。實際上,這並沒有問題。在這個例子中,內查詢產生了超過一筆的資料,所以 EXISTS 的條件成立,所以外查詢被執行。而外查詢本身並沒有包含 [region_name = 'West'] 這個條件。

  • 相关阅读:
    搜索条件中的模式匹配,及包含关键字条件匹配
    Makefile用法,详细到让人吐。
    循序渐进实现仿QQ界面(三):界面调色与控件自绘
    VC 多线程编程
    用UDL快速生成一个数据库连接字符串。
    VC CMarkup所有方法说明
    VC判断控件是否按钮。
    学习笔记(一)
    libvirt0.8.2安装(方法一)
    centos中kvm网桥的设置
  • 原文地址:https://www.cnblogs.com/Godblessyou/p/1779465.html
Copyright © 2011-2022 走看看