選擇top
SELECT * FROM Websites LIMIT 2;
就是選擇前兩個的意思;還可以用percent用百分比進行選擇
SELECT TOP 50 PERCENT * FROM Websites;
選出前50%的記錄
選擇中like的用法
- 選擇名字以G開頭的
select * from websites
WHERE name LIKE 'G%';
- 選擇名字以k結尾的
select * from websites
WHERE name LIKE '%k';
- 選擇名字當中包含 oo 的
select * from websites
WHERE name LIKE '%oo%'
- 不包含oo的,就是NOT LIKE
通配符(既然說到%)
- 通配符往往和LIKE一起用,一般的通配符包括:
% 代替0或多個字符
_ 只代替1個字符
[charlist] - 字符列中的任意單一字符
[^charlist]或者[!charlist] - 不在字符列中的任何單一字符
選取 name 以 "G" 開始,然后是一個任意字符,然后是 "o",然后是一個任意字符,然后是 "le" 的所有網站:
SELECT * FROM Websites
WHERE name LIKE 'G_o_le';
使用 SQL [charlist] 通配符
- MySQL 中使用 REGEXP 或 NOT REGEXP 運算符 (或 RLIKE 和 NOT RLIKE) 來操作正則表達式。
- 下面的 SQL 語句選取 name 以 "G"、"F" 或 "s" 開始的所有網站:
SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';
- 下面的 SQL 語句選取 name 以 A 到 H 字母開頭的網站:
SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';
- 選不是以A-H開頭的,就是'[A-H]';
Select in 選擇名稱為aa或者bb的值
- 下面的 SQL 語句選取 name 為 "Google" 或 "菜鳥教程" 的所有網站:
SELECT * FROM Websites
WHERE name IN ('Google','菜鳥教程');
Select between 選擇alexa取值在某一范圍內的值
- 選取 alexa 介于 1 和 20 之間的所有網站:
SELECT * FROM Websites
WHERE alexa BETWEEN 1 AND 20;
- NOT BETWEEN 就是不在這個值范圍內的值
帶有 IN 的 BETWEEN 操作符實例
選取alexa介于 1 和 20 之間但 country 不為 USA 和 IND 的所有網站:
SELECT * FROM Websites
WHERE (alexa BETWEEN 1 AND 20)
AND NOT country IN ('USA', 'IND');
也可以用betwen選取以某個字母范圍開頭,和上面的Regexp作用相同
SELECT * FROM Websites
WHERE name BETWEEN 'A' AND 'H';
- 如果是不在這個范圍內,就是NOT BETWEEN
選擇某一時間日期范圍內的條目
-針對access_log表,即包括aid, site_id, count(訪問次數),date(時間)
- 選擇某一時間內的條目:
SELECT * FROM access_log
WHERE date BETWEEN '2016-05-10' AND '2016-05-14';
注意,不同的數據庫中,between是否包含/不包含邊界上的值,是不同的
Select別名
-通過對選取的表、或者列,設置別名(簡稱),可以減少寫的工作量
- 對列設置別名(name是n, country是c):
SELECT name AS n, country AS c FROM Websites;
- 還可以把url, alexa, country合在一起,用','分割,生成一個新的列(用到了concat這個字)
SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_info
FROM Websites;
- 對表設置別名。比如把website的名字設為w, access_log設置為a, 選出a和w當中site_id一致的列,而且名稱為“菜鳥教程”。最后展示的信息為w表中的名稱,url,a中的訪問量和時間
SELECT w.name, w.url, a.count, a.date
FROM Websites AS w, access_log AS a
WHERE a.site_id=w.id and w.name="菜鳥教程";