1. 程式人生 > >【4】SQL之top、like、通配符、in、between

【4】SQL之top、like、通配符、in、between

fff from -c rownum 搜索 不同的 系統 指定 ron

  • TOP字句

用於規定要返回的記錄的數目。
對於擁有數千條記錄的大型表來說,TOP 子句是非常有用的。
註釋:並非所有的數據庫系統都支持 TOP 子句。
語法:
SELECT TOP number|percent 列名1,列名2 FROM 表名
例子:
select top 2 * from 表名
select top 50 percent * from 表名

MySQL 和 Oracle 中的 SQL SELECT TOP 是等價的
MySQL 語法:SELECT 列名 FROM 表名 LIMIT number
例子:SELECT * FROM Persons LIMIT 5

Oracle 語法:SELECT 列名 FROM 表名 WHERE ROWNUM <= number

  • LIKE 操作符

用於在 WHERE 子句中搜索列中的指定模式。
語法:
SELECT 列名1,列名2 FROM 表名 WHERE 列名 LIKE pattern
例子:
like ‘N%‘(以N開頭)
like ‘%g‘(以g結尾)
like ‘%李磊%‘(包含李磊)
not like ‘%李磊%‘(不包含李磊)
"%" 可用於定義通配符(模式中缺少的字母)。

  • 通配符

在搜索數據庫中的數據時,SQL 通配符可以替代一個或多個字符。
SQL 通配符必須與 LIKE 運算符一起使用。
在 SQL 中,可使用以下通配符:
通配符 描述
% 替代一個或多個字符
_ 僅替代一個字符
[charlist] 字符列中的任何單一字符


[^charlist]或者[!charlist] 不在字符列中的任何單一字符
like ‘[A]%‘(以A開頭)
like ‘[ALN]%‘(以A、L、N開頭)
like ‘[!ALN]%‘(不以A、L、N開頭)

  • IN 操作符

在 WHERE 子句中規定多個值。
語法:
select 列名 from 表名 where 列名 in (值1,值2,值3,...)
若值是文本值,需要加單引號。

  • BETWEEN 操作符

在 WHERE 子句中使用,作用是選取介於兩個值之間的數據範圍。
操作符 BETWEEN ... AND 會選取介於兩個值之間的數據範圍。這些值可以是數值、文本或者日期。
語法:


select 列名 from 表名 where 列名 between 值1 and 值2(包含值1、但不包含值2)
not between 值1 and 值2(顯示範圍之外的數據)

重要事項:不同的數據庫對 BETWEEN...AND 操作符的處理方式是有差異的。某些數據庫會列出介於 "Adams" 和 "Carter" 之間的人,但不包括 "Adams" 和 "Carter" ;某些數據庫會列出介於 "Adams" 和 "Carter" 之間並包括 "Adams" 和 "Carter" 的人;而另一些數據庫會列出介於 "Adams" 和 "Carter" 之間的人,包括 "Adams" ,但不包括 "Carter" 。
所以,請檢查你的數據庫是如何處理 BETWEEN....AND 操作符的!

【4】SQL之top、like、通配符、in、between