日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 高级语法,SQL 语法高级

發布時間:2025/4/16 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 高级语法,SQL 语法高级 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NULL 值

NULL 值是遺漏的未知數據。

默認地,表的列可以存放 NULL 值。

如果表中的某個列是可選的,那么我們可以在不向該列添加值的情況下插入新記錄或更新已有的記錄。這意味著該字段將以

NULL 值保存。

NULL 值的處理方式與其他值不同。

NULL 用作未知的或不適用的值的占位符。

注釋:無法比較 NULL 和 0;它們是不等價的。

我們要用IS NULL和IS NOT NULL來判斷列的值。

NULL 函數

如果 “UnitsOnOrder” 是 NULL,則不利于計算,因此如果值是 NULL 則返回 0。

SQL Server / MS Access1

2SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))

FROM Products

Oracle

Oracle 沒有 ISNULL() 函數。不過,我們可以使用 NVL() 函數達到相同的結果:

1

2SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))

FROM Products

MySQL

MySQL 也擁有類似 ISNULL() 的函數。不過它的工作方式與微軟的 ISNULL()

函數有點不同。

在 MySQL 中,我們可以使用 IFNULL() 函數,就像這樣:

1

2SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))

FROM Products

或者我們可以使用 COALESCE() 函數,就像這樣:

1

2SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))

FROM Products

TOP 子句

TOP 子句用于規定要返回的記錄的數目。

對于擁有數千條記錄的大型表來說,TOP 子句是非常有用的。

注釋:并非所有的數據庫系統都支持 TOP 子句。

SQL Server 的語法:

1

2SELECT TOP number|percent column_name(s)

FROM table_name

MySQL 和 Oracle 中的 SQL SELECT TOP 是等價的

MySQL 語法

1

2

3SELECT column_name(s)

FROM table_name

LIMIT number

例子

1

2

3

4

5

6

7SELECT *

FROM Persons

LIMIT 5

Oracle 語法

SELECT column_name(s)

FROM table_name

WHERE ROWNUM <= number

例子

1

2

3SELECT *

FROM Persons

WHERE ROWNUM <= 5

LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SQL LIKE 操作符語法

1

2

3SELECT column_name(s)

FROM table_name

WHERE column_name LIKE pattern

通配符 描述

% 替代一個或多個字符

_ 僅替代一個字符

[charlist] 字符列中的任何單一字符

[^charlist]\ 不在字符列中的任何單一字符

或者\

[!charlist]

IN 操作符

IN 操作符允許我們在 WHERE 子句中規定多個值。

SQL IN 語法

1

2

3SELECT column_name(s)

FROM table_name

WHERE column_name IN (value1,value2,...)

BETWEEN 操作符

操作符 BETWEEN … AND

會選取介于兩個值之間的數據范圍。這些值可以是數值、文本或者日期。

BETWEEN 語法

1

2

3

4SELECT column_name(s)

FROM table_name

WHERE column_name

BETWEEN value1 AND value2

Alias

表的 SQL Alias 語法

1

2

3SELECT column_name(s)

FROM table_name

AS alias_name

列的 SQL Alias 語法

1

2SELECT column_name AS alias_name

FROM table_name

Alias 實例: 使用表名稱別名

假設我們有兩個表分別是:”Persons” 和

“Product_Orders”。我們分別為它們指定別名 “p” 和 “po”。

現在,我們希望列出 “John Adams” 的所有定單。

我們可以使用下面的 SELECT 語句:

1

2

3SELECT po.OrderID, p.LastName, p.FirstName

FROM Persons AS p, Product_Orders AS po

WHERE p.LastName='Adams' AND p.FirstName='John'

不使用別名的 SELECT 語句:

1

2

3SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName

FROM Persons, Product_Orders

WHERE Persons.LastName='Adams' AND Persons.FirstName='John'

從上面兩條 SELECT 語句您可以看到,別名使查詢程序更易閱讀和書寫。

UNION 操作符

UNION 操作符用于合并兩個或多個 SELECT 語句的結果集。

請注意,UNION 內部的 SELECT

語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條 SELECT

語句中的列的順序必須相同。

SQL UNION 語法

1

2

3SELECT column_name(s) FROM table_name1

UNION

SELECT column_name(s) FROM table_name2

注釋:默認地,UNION 操作符選取不同的值。如果允許重復的值,請使用 UNION

ALL。

SQL UNION ALL 語法

1

2

3SELECT column_name(s) FROM table_name1

UNION ALL

SELECT column_name(s) FROM table_name2

另外,UNION 結果集中的列名總是等于 UNION 中第一個 SELECT 語句中的列名。

GROUP BY 語句

GROUP BY 語句用于結合合計函數,根據一個或多個列對結果集進行分組。

SQL GROUP BY 語法

1

2

3

4SELECT column_name, aggregate_function(column_name)

FROM table_name

WHERE column_name operator value

GROUP BY column_name

HAVING 子句

在 SQL 中增加 HAVING 子句原因是,WHERE 關鍵字無法與合計函數一起使用。

SQL HAVING 語法

1

2

3

4

5SELECT column_name, aggregate_function(column_name)

FROM table_name

WHERE column_name operator value

GROUP BY column_name

HAVING aggregate_function(column_name) operator value

SELECT INTO 語句

SELECT INTO 語句從一個表中選取數據,然后把數據插入另一個表中。

SELECT INTO 語句常用于創建表的備份復件或者用于對記錄進行存檔。

SQL SELECT INTO 語法

您可以把所有的列插入新表:

1

2

3SELECT *

INTO new_table_name [IN externaldatabase]

FROM old_tablename

或者只把希望的列插入新表:

1

2

3SELECT column_name(s)

INTO new_table_name [IN externaldatabase]

FROM old_tablename

總結

以上是生活随笔為你收集整理的mysql 高级语法,SQL 语法高级的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 友田真希一区二区 | 亚洲综合图色40p | 天天干夜夜艹 | 亚洲精品国产精品国自产网站按摩 | 中文字幕人妻无码系列第三区 | 公侵犯人妻一区二区 | 久福利| 国产你懂 | 2017日日夜夜| 亚洲成人av中文字幕 | 91网页版 | 五月婷婷七月丁香 | 日本免费网站视频 | 污污网站在线 | 久久久久无码国产精品一区 | 青青成人网 | 久久久久久久久久久影院 | 久久久久国产一区二区三区潘金莲 | 91丨国产| 毛片网| 国产+高潮+白浆+无码 | 97色资源 | 欧美一区二区三区视频 | 国模一区二区三区 | 欧美成人h版在线观看 | 欧美色图亚洲自拍 | 色www国产亚洲阿娇 自拍一区在线 | 精品人妻伦一二三区免费 | 激情综合网av | 精品久久久久中文慕人妻 | 日韩欧美国产综合 | 中文国产字幕 | 国产100页 | 日本午夜精品 | 狠狠爱av | 国语播放老妇呻吟对白 | 91激情影院| 国产精品2区| 少妇高潮一区二区三区69 | 99这里有精品视频 | www.午夜| 国产真人做爰毛片视频直播 | 一级大毛片| 特黄做受又粗又大又硬老头 | 久久激情影院 | 亚洲男人网站 | 亚洲国产一二三 | 揄拍成人国产精品视频 | www.插插插| 免费日韩视频 | 亚洲视频一区二区三区 | 亚洲一区网 | 五月天综合婷婷 | 黄瓜视频在线免费观看 | 伊人久久网站 | www.国产视频.com | 午夜tv| 91视频久久 | 国产精品国产三级国产三级人妇 | 国产在成人精品线拍偷自揄拍 | 黄色精品一区二区 | 国产高清一区二区三区四区 | 久久久激情视频 | 手机免费看av片 | 国产黄视频网站 | 日本黄色一区二区 | 美女被草网站 | 色戒电影未测减除版 | 日本精品视频在线播放 | 91中文字幕 | 国产二区免费 | 国产精品99一区二区三区 | 久久精品大片 | 羞辱狗奴的句子有哪些 | 免费网站观看www在线观看 | 国产黄色小说 | 无码精品人妻一区二区三区漫画 | 熟女少妇一区二区 | 人人色网| 国产精品精品国产 | 色欲国产精品一区二区 | 黄色小视频免费观看 | 人妻熟女aⅴ一区二区三区汇编 | 在线视频啪 | 久久久久久国产精品三级玉女聊斋 | 污片视频在线观看 | 天天看片中文字幕 | 男女视频网站 | 欧美一区亚洲二区 | 91麻豆蜜桃一区二区三区 | 日本一区二区三区免费看 | 淫视频在线观看 | 亚洲偷| 尤物在线免费视频 | 男女床上拍拍拍 | 钻石午夜影院 | 中文字幕在线观看网站 | 91丨九色丨海角社区 | 少妇久久精品 |