一.查詢數據
1.selecttop clause(子句)
SELECT TOP number|percent column_name(s)FROM table_name;
注:并不是所有數據庫系統都支持select top子句
eg.顯示表格中的前兩行數據
SELECT TOP 2 * FROM Customers;
eg.顯示表格中的前50%的數據
SELECT TOP 50 PERCENT * FROM Customers;
2.like Operator(操作符)
是用來用在where子句,在列中搜索指定模式的數據
SELECT column_name(s)FROM table_nameWHERE column_name LIKE pattern;
eg.在所有數據中尋找city列中,以s開頭的數據
SELECT * FROM CustomersWHERE City LIKE 's%';
這里的%用來指代其它字母
eg.在所有數據中尋找city列中,以s結尾的數據
SELECT * FROM CustomersWHERE City LIKE '%s';
eg.在所有數據中尋找country列中,包含land的數據
SELECT * FROM CustomersWHERE Country LIKE '%land%';
eg.在所有數據中尋找country列中,不包含land的數據
SELECT * FROM CustomersWHERE Country NOT LIKE '%land%';
注:not關鍵字用來選擇不匹配的數據
二.wildcards(通配符)
1.通配符可以用來代替字符串中的其它字母,通常和like操作符一起使用
2.以下是SQL用到的通配符
3.% wildcard(通配符)
eg.在所有數據中尋找city列中,ber開頭的數據
SELECT * FROM CustomersWHERE City LIKE 'ber%';
eg.在所有數據中尋找city列中,包含es的數據
SELECT * FROM CustomersWHERE City LIKE '%es%';
4._ wildcard(通配符)
eg.在所有數據中尋找city列中,以任意一個字母開始,然后是erlin的數據
SELECT * FROM CustomersWHERE City LIKE '_erlin';
eg.在所有數據中尋找city列中,以L字母開始,然后是任意一個字母,然后是n字母,然后是任意一個字母,然后是on字母的數據
SELECT * FROM CustomersWHERE City LIKE 'L_n_on';
5.[charlist] wildcard(通配符)
eg.在所有數據中尋找city列中,以b或s或p開頭的數據
SELECT * FROM CustomersWHERE City LIKE '[bsp]%';
eg.在所有數據中尋找city列中,以a或b或c開頭的數據
SELECT * FROM CustomersWHERE City LIKE '[a-c]%';
6.[!charlist] wildcard(通配符)
eg.在所有數據中尋找city列中,不是以b或s或p開頭的數據
SELECT * FROM CustomersWHERE City LIKE '[!bsp]%';
或
SELECT * FROM CustomersWHERE City NOT LIKE '[bsp]%';
三.查詢數據
1.in operator(操作符)
在where子句中指定顯示多個數據
SELECT column_name(s)FROM table_nameWHERE column_name IN (value1,value2,...);
eg.在所有數據中尋找city列中,是paris和london的數據
SELECT * FROM CustomersWHERE City IN ('Paris','London');
2.between operator(操作符)
在where子句中指定顯示某個區間的數據,此區間可以是數字,文本,日期
SELECT column_name(s)FROM table_nameWHERE column_name BETWEEN value1 AND value2;
eg.在數據中尋找PRice列中,介于10和20之間的數據
SELECT * FROM ProductsWHERE Price BETWEEN 10 AND 20;
eg.在數據中尋找price列中,介于10和20之外的數據
SELECT * FROM ProductsWHERE Price NOT BETWEEN 10 AND 20;
3.between和in一起用
eg.在數據中尋找price列中,介于10和20之間的數據,而且categoryID列中不是1或2或3的數據
SELECT * FROM ProductsWHERE (Price BETWEEN 10 AND 20)AND NOT CategoryID IN (1,2,3);
4.between用于文本區間
eg.在數據中尋找productname列中,開始字母介于C和M之間的數據
SELECT * FROM ProductsWHERE ProductName BETWEEN 'C' AND 'M';
eg.在數據中尋找productname列中,開始字母介于C和M之外的數據
SELECT * FROM ProductsWHERE ProductName NOT BETWEEN 'C' AND 'M';
5.between用于日期區間
eg.在數據中尋找orderdate列中,時間介于07/04/1996和07/09/1996之間的數據
SELECT * FROM OrdersWHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;
注:不同的數據庫中,between會產生不同的結果:
有的數據庫中between是不包含兩個區間值,
有的數據庫中between包含兩個區間值,
有的數據庫中between包含前一個區間值,不包含后一個區間值。
所以要確認好所使用的數據庫對between的運行結果。
新聞熱點
疑難解答