🧐
M@nGo Notes
  • Back-End
    • INFORMIX-4GL
      • 第一章 變數
        • 宣告變數
        • 命名規則
        • 變數初始化
        • 變數值設定
        • 變數範圍
          • 變數不同名的情況
          • 變數同名的情況
        • status 狀態變數
        • SQLCA 系統變數
          • SQLCA.SQLCODE
          • SQLCA.SQLERRM
          • SQLCA.SQLERRP
          • SQLCA.SQLERRD
          • SQLCA.SQLWARN
        • WHENEVER ERROR
      • 第二章 資料型別
        • 簡單資料型別
          • CHARACTER DATA
            • CHAR
            • VARCHAR
          • NUMERIC DATA
            • INTEGER
            • INT
            • DECIMAL
            • SMALLFLOAT
            • FLOAT
            • MONEY
            • SMALLINT
          • TIME DATA
            • DATE
            • DATETIME
            • INTERVAL
        • 大型資料型別
          • TEXT
          • BYTE
        • 結構資料型別
          • RECORD
          • ARRAY
        • 其他資料型別
          • SERIAL
      • 第三章 程式架構
        • 主要架構
        • FUNCTION
        • REPORT
          • START REPORT
          • OUTPUT TO REPORT
          • FINISH REPORT
          • REPORT FUNCTION
          • REPORT FORMAT Setion
            • PRINT
            • NEED
            • SKIT
            • PAUSE
            • EXIT
        • 邏輯判斷敘述
          • IF
          • FOR
          • WHILE
          • CASE
          • GOTO
        • INPUT
        • INPUT ARRAY
      • 第四章 庫存函數
        • 庫存函數_一般型
          • ARG_VAL( )
          • NUM_ARGS( )
          • SHOWHELP( )
          • LENGTH( )
          • ASCII
          • ORD( )
          • UPSHIFT( )
          • DOWNSHIFT( )
          • USING
          • CLIPPED
          • COLUMN
          • SPACE / SPACES
        • 庫存函數_陣列型
          • SET_COUNT( )
          • ARR_CURR( )
          • SCR_LINE( )
          • INFIELD( )
          • GET_FLDBUF( )
          • FIELD_TOUCHED( )
          • ARR_COUNT( )
        • 庫存函數_按鍵型
          • FGL_GETKEY( )
          • FGL_LASTKEY( )
        • 庫存函數_日期型
          • TODAY
          • DATE( )
          • MDY( )
          • YEAR( )
          • MONTH( )
          • DAY( )
          • WEEKDAY( )
          • TIME
        • 庫存函數_算術型
          • ABS( )
          • MOD( )
          • COUNT( )
          • MAX( )
          • MIN( )
          • SUM( )
          • AVG( )
          • RANGE( )
        • 庫存函數_錯誤型
          • STARTLOG( )
          • ERR_PRINT( )
          • ERR_QUIT( )
          • ERR_GET( )
          • ERRORLOG( )
      • 第五章 資料庫操作
        • 資料庫操作
          • 建立資料庫
          • 刪除資料庫
          • 關閉資料庫
          • 資料庫連結
          • 資料庫授權
            • CONNECT 權利
            • RESOURCE 權利
            • DBA 權利
          • 資料庫命名規則
        • 資料表操作
          • 建立資料表
          • 資料表更名
          • 修改資料表儲存空間
          • 修改資料表鎖定程度
          • 刪除資料表
          • 資料表授權
          • 資料表命名規則
        • 欄位操作
          • 新增欄位
          • 新增欄位屬性
          • 欄位更名
          • 修改欄位
          • 刪除欄位
          • 刪除欄位屬性
          • 欄位命名規則
        • 索引操作
          • 索引說明
          • 建立索引
          • 修改索引 CLUSTER 狀態
          • 刪除索引
          • 索引命名規則
      • 第六章 資料操作
        • SQL Language
          • INSERT 語法
          • DELETE 語法
          • UPDATE 語法
          • SELECT 語法
        • SQL ... END SQL
        • CURSOR
          • 游標種類
          • SCROLL CURSOR
          • INSERT 操作
          • UPDATE 操作
          • SELECT 操作
            • CURSOR
              • 人工手動控制游標
              • 系統自動控制游標
            • PREPARE
              • 人工手動控制游標
              • 系統自動控制游標
        • QBE
          • 簡介
          • CURSOR 架構
            • 變數與欄位名稱相同
            • 變數與欄位名稱不相同
          • SCROLL 架構
            • 變數與欄位名稱相同
            • 變數與欄位名稱不相同
        • CONSTRUCT
        • Transaction
        • 補充內容
      • 第七章 FORM 及 WINDOW
        • FORM
          • FORM SECTION
          • 使用方法
        • WINDOW
        • Reserved Lines
        • 螢幕交談指令
          • CLEAR SCREEN
          • ERROR
          • MESSAGE
          • PROMPT
          • DISPLAY
            • 說明
            • Line Mode 行
            • Current WINDOW 指定行
            • Screen FORM 指定行
        • MENU 敘述
        • 螢幕顯示設定
          • OPTIONS
          • ATTRIBUTE
            • ATTRIBUTE 語法
            • ATTRIBUTE 種類
      • 第八章 補充資訊
        • 錯誤代碼
        • 參考資料
        • 待補充
    • JAVA
      • 第一章 了解 JAVA
        • 簡介
          • 特色
          • JAVA 平台簡介
        • OPEN JDK
          • OPEN JDK 簡介
          • 設置 Open JDK
        • Hello World!!
        • 組成要素
          • 區塊 Block
          • Java 程式起點 main()
          • 敘述 Statement
          • 註解 Comment
          • 撰寫方式
        • 開發環境
          • Eclipse
            • 安裝 Eclipse IDE
            • 專案設置
              • 建立新專案
              • 專案目錄
              • 建立新類別
              • 刪除專案
            • 環境基本設定
              • 背景樣式
              • 字體大小
              • 編碼方式
            • 快捷鍵
      • 第二章 變數
        • 甚麼是變數 ?
        • 變數的名稱
        • 關鍵字 Keyword
        • 區域變數
        • 全域變數
        • 常數
      • 第三章 資料型別
        • 分類說明
        • 基本型別
          • Logical Type
          • Integral Type
            • Integral 種類
            • Integral 進制設定
          • Textual Type
          • Floating Point Type
        • 參照型別
          • String
          • Array
          • Object
      • 第四章 運算式
        • 運算式簡介
          • 甚麼是運算式
          • 一元運算子
          • 二元運算子
          • 三元運算子
          • 運算順序
          • 資料轉型_待補充
            • 自動提升
            • 強制轉型
            • 自動轉型
        • 指定運算
          • 指定運算子
          • 複合指定運算子
        • 數值運算
          • 算術運算子
          • 遞增、遞減運算子
          • 正、負號運算子
        • 布林運算
          • 反向運算子
          • 比較運算子
          • 邏輯運算子
        • 位元運算
          • 位元邏輯運算子
          • 位元補數運算子
          • 位元移位運算子
      • 第五章 流程控制
      • 第六章 字串
      • 第七章 陣列
      • 第八章 物件導向程式設計
        • 類別與物件
        • 方法
        • OOP 三大特性
          • 封裝
          • 繼承
          • 多型
        • 修飾子
        • 抽象
        • 介面
      • 第九章 例外處理
      • 第十章 多執行緒
      • 第十一章 資料輸入、輸出
      • 第十二章 JDBC
      • 第十三章 補充資訊
    • C
    • C ++
  • Java Web
    • Servlet
    • Hibernate
    • Spring
    • Spring MVC
    • Spring RESTful
    • Spring Boot
      • 第一章 了解 Spring Boot
        • 開發環境
          • Eclipse
            • 安裝 Eclipse IDE
            • 安裝 Spring Boot Tool
            • 專案設置
              • 建立新專案
              • 專案目錄
              • 建立新類別
              • 刪除專案
            • 環境基本設定
              • 背景樣式
              • 字體大小
              • 編碼方式
            • 快捷鍵
  • DataBase
    • MS SQL
    • Postgre SQL
    • MongoDB
  • OTHER
    • Kafka
    • Docker
    • Swagger
  • FRONT-END
    • JavaScript
    • HTML & CSS
    • Ajax
    • jQuery
    • Bootstrap
  • Knowledge
    • 資料結構
    • 演算法
  • LeeCode
    • Java
  • Tools
    • Postman
    • SQuirrel SQL
    • DBeaver
    • Git
  • Framework
    • 範例頁面
  • 範例群組頁面
    • 範例頁面
由 GitBook 提供支持
在本页
在GitHub上编辑
  1. Back-End
  2. INFORMIX-4GL
  3. 第六章 資料操作
  4. SQL Language

SELECT 語法

Informix-4GL 資料操作_SQL Language

語法

SELECT [ FIRST m ][ DISTINCT / UNIQUE ]
       *
       / columnName [ AS displayLabel ][, ...]
       / expr [ AS displayLabel1 ]
[ INTO recordName.* / variableName [, ...]
  FROM tableName [[ AS ] alias ][, ...]
[OUTER joinTableName1 [, OUTER joinTableName2 [, ...]]]
[WHERE [ NOT ] booleanExpr
               / columnName BETWEEN expr1 AND expr2
               / columnName IN( value [, ...])
               / expr IS NULL
               / columnName LIKE "expr"
               / columnName MATCHES "expr"
               / columnName IN( Subquery )
               / EXISTS Subquery
               / { ALL Subquery / ANY Subquery / SOME Subquery } -- 三擇一 --
 [ AND clause ]
  [ OR clause ]]
[GROUP BY columnName [, ...]/ p [ HAVING booleanExpr ]]
[ORDER BY { columnName [, ...]/ n / column i, j } -- 三擇一 --
          [ ASC / DESC ]]
 [ FOR READ ONLY [ OF column [, ...]]
   / FOR UPDATE [ OF column [, ...]]]
[ INTO TEMP tableName [ WITH NO LOG]
       / SCRATCH tableName
       / EXTERNAL tableName USING Subquery ]
[UNION [ ALL ] Subquery ] 

功能:

查詢資料表內資料。

Subquery 用法說明:

  1. FIRST m:取得查詢結果的前 m 筆資料。

    m 為數值。

  2. DISTINCT:如果查詢到重覆相同值的資料時,只會選取其中一筆資料顯示。

  3. columnName AS displayLabel :displayLabel 為 columnName 的欄位名稱敘述。

  4. FROM tableName AS aliasl:設定 tableName 為資料查詢來源。

    aliasl 為 tableName 的別名。

  5. OUTER joinTableName:用於連結其他外部資料表,joinTableName 為外部資料表,無論是否有相對應的資料,都會將其顯示。

  6. WHERE clause:請參考 clause 用法說明。

  7. GROUP BY columnName / p:依據 columnName 或 p 做分類群組。

    p 為數值或某個代表分類意義。

  8. HAVING booleanExpr:須與 GROUP BY 同時搭配使用,表示查詢資料須符合 booleanExpr 的條件式判斷,才能被 GROUP BY 分類敘述。

  9. ORDER BY:查詢結果依據 columnName 或 n 或 column 的起始字元 i ~ 結束字元 j,來做升冪或降冪排序。

    n 為數值或某的具有代表意義。

    i、j 為數值。

  10. ASC:升幕排序,系統預設。

  11. DESC:降幕排序。

  12. FOR READ ONLY:設定查詢結果只能讀取特性,不可修改,可設定一個以上的欄位具有此特性。

  13. FOR UPDATE:設定查詢結果為可修改特性,可設定一個以上的欄位具有此特性。

  14. INTO TEMP tableName [ WITH NO LOG ]:將查詢結果存到一個暫存檔內。

  15. INTO SCRATCH tableName:了解中。

  16. INTO EXTERNAL tableName USING Subquery:了解中。

  17. UNION Subquery:將查詢結果與 Subquery 的查詢結果做資料聯集,但搜尋的欄位數量及欄位資料型別兩邊都需一致,且不可以是 BYTE 或 TEXT 的資料型別。

  18. UNION ALL Subquery:將查詢結果與 Subquery 的查詢結果做資料聯集,但搜尋的欄位數量及欄位資料型別兩邊都需一致。

clause 用法說明:

  1. WHERE NOT clause:

    表示判斷結果依據為反向。

  2. columnName BETWEEN expr1 AND expr2:

    將有介於 expr1 到 expr2 範圍之間的資料表欄位資料 ( columnName ) ,篩選出來。

  3. columnName IN( value [, ...]):

    將資料表欄位資料 ( columnName ) 有符合 IN 之中的 value 資料塞選出來。

  4. expr IS NULL:

    判斷查詢結果是否為空值。

  5. columnName LIKE "expr":

    將有符合 LIKE 條件的資料表欄位資料 ( columnName ) 塞選出來。

    1. %:資料若符合沒有或更多字元,就塞選出來。

    2. _:資料只要符合指定的一個字元,就塞選出來。

    3. \:資料內含有 % 或 _ ,就塞選出來。

  6. columnName MATCHES "expr":

    將有符合 MATCHES 條件的資料表欄位資料 ( columnName ) ,塞選出來。

    1. *:資料若符合沒有或更多字元,就塞選出來。

    2. ?:資料只要符合任一字元,就塞選出來。

    3. [...]:資料只要符合一串字串中的任一字元,就塞選出來。

    4. ^:需與 [...] 搭配使用,資料只要沒有符合一串字串中的任一字元,就塞選出來。

    5. \:資料內含有 * 或 ? ,就塞選出來。

  7. columnName IN( Subquery ):

    • 建立新的查詢 ( Subquery ),得到 Subquery 所搜尋到的資料,並將有符合前述查詢結果的資料表欄位資料 ( columnName ) ,塞選出來。

    • Subquery 只能設定單一欄位作為查詢依據,但可得到多筆資料,以進行對資料表欄位資料 ( columnName ) 的比對

  8. EXISTS Subquery:

    • 建立新的查詢 ( Subquery ),得到 Subquery 所搜尋到的資料,並將有符合條件的資料 ,塞選出來。

    • Subquery 可選取多個欄位作為查詢依據,並將主要 SELECT 敘述所選取的欄位帶入,作為查詢條件,且 Subquery 所使用的欄位均為主要 SELECT 敘述內的欄位。

  9. ALL Subquery:

    表示查詢結果必須都符合 Subquery 的所有狀況,且狀況判斷皆均為 TRUE,其值就為 TRUE,只會回傳一筆資料。

  10. ANY Subquery: 表示查詢結果只要符合 Subquery 的其中一種狀況,且狀況判斷為 TURE,其值就為 TRUE,只會回傳一筆資料。

  11. SOME Subquery: 使用方法與 ANY Subquery 相同,只會回傳一筆資料。

  12. AND clause: 表示查詢結果必須符合 clause。

  13. OR clause: 表示查詢結果或符合 clause。

【 M@nGo 留言區 】 如有任何建議的地方,請前往芒果留言區留言。

上一页UPDATE 語法下一页SQL ... END SQL

最后更新于2年前