SQL中一些MySQL不支援的語句

2021-10-18 06:35:09 字數 2155 閱讀 9784

select top 用來規定要返回的記錄的數目。但mysql中並不支援這一語句,mysql支援用limit語句來選取指定的資料的數目。

select

top number|persent column_name

from table_name;

mysql語法

select column_name

from table_name

limit number;

sql中可以使用以下萬用字元

萬用字元描述

%代替0個或多個字元

_代替1個字元

[charlist]

字元列中任意單一字元

[^charlist]或[!charlist]

不在字元列中任意單一字元

但是mysql中只支援 % 和 _ 萬用字元,不支援 [charlist]

mysql會把like '[qqq]yyy'的中括號當成普通字元,而不是萬用字元。

所以當在mysql中使用

select

*from books where bookname like

'[m]ath' ;

它會查出的是bookname[m]ath的行,而不是booknamemath的行

那如果要在mysql中實現 [charlist] 或者 [!charlist] 的效果就需要使用regexpnot regexp運算子(或rlikenot rlike)

下面的sql語句表示選取books中以m、c或e開頭的書

select

*from books

where bookname regexp

'^[mce]'

;

下面的sql語句表示選取books中不以m、c或e開頭的書

select

*from books

where bookname regexp

'^[^mce]'

;

mysql 暫不支援 full join, 要實現完全外部鏈結需要額外處理。

mysql實現完全外部鏈結,要使用 union 將乙個左鏈結、和乙個右鏈結去重合併

select x.

*,y.

*from 表1 x left

join 表2 y

on x.unit_no = y.unit_no

union

select yx.*,

.*from 表1 x right

join 表2 y

on x.unit_no = y.unit_no;

first()用於返回指定列的第乙個值,last()用於返回指定列的最後乙個值。但都只有ms access支援。

mysql 語法

first()

select column_name from table_name

order

by column_name asc

limit

1;

last()

select column_name from table_name

order

by column_name desc

limit

1;

##len()

sql len() 語法

select

len(column_name)

from table_name;

mysql 中函式為 length():

select length(column_name)

from table_name;

mysql不支援 MySQL不支援的特性

mysql 1 不支援物化檢視。2 不支援位圖索引。3 不支援並行查詢。4 不支援雜湊關聯,mysql的所有關聯都是巢狀迴圈關聯。不過,可以通過建立乙個雜湊索引來曲線實現。5 不允許對同一表同時進行查詢和更新。報錯 update tb1 as outer tb1 set cnt select cou...

SQLite不支援的SQL特性

sqlite 不支援的sql 特性 相對於試圖列出sqlite 支援的所有sql92 特性,只列出不支援的部分要簡單得多。下面顯示的就是sqlite 所不支援的sql92 特性。這個列表的順序關係到何時乙個特性可能被加入到sqlite 接近列表頂部的特性更可能在不遠的將來加入。接近列表底部的特性尚且...

SQLite不支援的SQL特性

sqlite 不支援的sql 特性相對於試圖列出sqlite 支援的所有sql92 特性,只列出不支援的部分要簡單得多。下面顯示的就是sqlite 所不支援的sql92 特性。這個列表的順序關係到何時乙個特性可能被加入到sqlite 接近列表頂部的特性更可能在不遠的將來加入。接近列表底部的特性尚且沒...