SQL Plus

選擇top

SELECT * FROM Websites LIMIT 2;

就是選擇前兩個的意思;還可以用percent用百分比進(jìn)行選擇

SELECT TOP 50 PERCENT * FROM Websites;

選出前50%的記錄

選擇中l(wèi)ike的用法

  • 選擇名字以G開頭的

select * from websites
WHERE name LIKE 'G%';

  • 選擇名字以k結(jié)尾的

select * from websites
WHERE name LIKE '%k';

  • 選擇名字當(dāng)中包含 oo 的

select * from websites
WHERE name LIKE '%oo%'

  • 不包含oo的,就是NOT LIKE

通配符(既然說到%)

  • 通配符往往和LIKE一起用,一般的通配符包括:
    % 代替0或多個字符
    _ 只代替1個字符
    [charlist] - 字符列中的任意單一字符
    [^charlist]或者[!charlist] - 不在字符列中的任何單一字符

選取 name 以 "G" 開始,然后是一個任意字符,然后是 "o",然后是一個任意字符,然后是 "le" 的所有網(wǎng)站:

SELECT * FROM Websites
WHERE name LIKE 'G_o_le';

使用 SQL [charlist] 通配符

  • MySQL 中使用 REGEXPNOT REGEXP 運算符 (或 RLIKE 和 NOT RLIKE) 來操作正則表達(dá)式。
  • 下面的 SQL 語句選取 name 以 "G"、"F" 或 "s" 開始的所有網(wǎng)站:

SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';

  • 下面的 SQL 語句選取 name 以 A 到 H 字母開頭的網(wǎng)站:

SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';

  • 選不是以A-H開頭的,就是'[A-H]';

Select in 選擇名稱為aa或者bb的值

  • 下面的 SQL 語句選取 name 為 "Google" 或 "菜鳥教程" 的所有網(wǎng)站:

SELECT * FROM Websites
WHERE name IN ('Google','菜鳥教程');

Select between 選擇alexa取值在某一范圍內(nèi)的值

  • 選取 alexa 介于 1 和 20 之間的所有網(wǎng)站:

SELECT * FROM Websites
WHERE alexa BETWEEN 1 AND 20;

  • NOT BETWEEN 就是不在這個值范圍內(nèi)的值

帶有 IN 的 BETWEEN 操作符實例

選取alexa介于 1 和 20 之間但 country 不為 USA 和 IND 的所有網(wǎng)站:

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';

  • 如果是不在這個范圍內(nèi),就是NOT BETWEEN

選擇某一時間日期范圍內(nèi)的條目

-針對access_log表,即包括aid, site_id, count(訪問次數(shù)),date(時間)

  • 選擇某一時間內(nèi)的條目:

SELECT * FROM access_log
WHERE date BETWEEN '2016-05-10' AND '2016-05-14';

注意,不同的數(shù)據(jù)庫中,between是否包含/不包含邊界上的值,是不同的

Select別名

-通過對選取的表、或者列,設(shè)置別名(簡稱),可以減少寫的工作量

  • 對列設(shè)置別名(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;

  • 對表設(shè)置別名。比如把website的名字設(shè)為w, access_log設(shè)置為a, 選出a和w當(dāng)中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="菜鳥教程";

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 創(chuàng)建表 語法 create table 表名(列+類型,列+類型); create table Websites ...
    尼爾君閱讀 459評論 0 1
  • mysql和oracle語法都差不多,但還是有差別,查閱資料后我總結(jié)了一套完整的sql語句大全,供初學(xué)者學(xué)習(xí) 1....
    譚魚魚閱讀 1,998評論 0 4
  • 【感悟】成功的路上只需三步: 第一步:【相信】 選擇之前可以懷疑,選擇之后必須相信。 第二步:【行動】 給夢想插上...
    王淦閱讀 203評論 0 0
  • 代碼均已由Adobe DreamweaverCC 2017版 實現(xiàn)通過,且均達(dá)到預(yù)期效果 第一題的代碼如下: 第二...
    NPU_孫雷閱讀 269評論 0 0
  • 姓名:母光艷 公司:寧波貞觀電器 第235期,利他二組 【日精進(jìn)打卡第170天】 【知-學(xué)習(xí)】 誦讀《六項精進(jìn)》大...
    母光焱閱讀 188評論 0 0

友情鏈接更多精彩內(nèi)容