一.條件查詢函數
1.模糊查詢-運算符 LIKEspa
通配符code
% (一個或多個字符) blog
_ (一個字符)ip
[charlist] (字符列中的任何單一字符)ci
[^charlist]或[!charlist] (不在字符列中的任何單一字符)字符串
-- 結果:查詢city的值中以A或L或N開頭的數據 SELECT * FROM Persons WHERE City LIKE '[ALN]%' -- %%默認爲查詢全部
2.範圍查詢-運算符 BETWEEN 或 INit
SELECT * FROM smartpromoterecord where -- 1到100之間 Amount BETWEEN 1 and 100 -- 1或100 -- Amount IN (1,100),若是是字符串串就二者同樣
3.分組查詢table
(1)語句group by,它條件是having不是whereast
-- 結果:找第一條ordertype不一樣的數據 SELECT * FROM `smartcashier` GROUP BY OrderType -- HAVING amount>188,這句讓上面的結果又少了幾條
(2)關鍵詞distinct,僅僅列出不一樣的值
-- 和下面那個同樣 SELECT distinct CustomerID FROM smartownership WHERE UserID=66
4.數據量查詢-函數count()
count(*),count()是不包括null的數據的數量,count(distinct 參數)是過濾重複值的數量
-- 從結果中看數量(其實通常直接看就好) SELECT count(*) FROM( SELECT UserID,CustomerID FROM smartownership WHERE UserID=66 GROUP BY CustomerID ) smartownership
SELECT count(*) FROM smarttriage WHERE smarttriage.CreateTime>"2019-02-18 00:00:00
-- 看有多少種值,每一個值的數據的數量是
-- 或者用count(distinct cashierid) SELECT count(*) FROM smartpromoterecord GROUP BY smartpromoterecord.CashierID
5.數據分頁查詢-語句 LIMIT
SELECT * FROM smartcashier -- 查詢到第1條~第30條的數據 -- LIMIT 30 -- 查詢到第31條~第40條的數據 LIMIT 30,10
二.關聯查詢
1.語句 XX JOIN...ON
內鏈接INNER JOIN...ON,
左鏈接LEFT JOIN...ON,右鏈接RIGHT JOIN...ON,
全外鏈接FULL JOIN...ON(沒成功)
-- 好比odertype=3或5沒有detail,因此用左鏈接 SELECT * FROM smartcashier LEFT JOIN smartcashierdetail ON smartcashier.ID = smartcashierdetail.CashierID WHERE smartcashier.CreateTime >= "2019-02-07 00:00:00" ORDER BY smartcashier.CreateTime ASC
2.語句 SELECT
-- 這個沒實踐 select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
三.子查詢
SELECT name,mobile,'性別' FROM ( SELECT ID,name,Mobile,gender, CASE gender when 1 THEN '男' WHEN 2 THEN '女' ELSE '你管我' END AS '性別' from smartcustomer ORDER BY ID DESC LIMIT 3,5 ) -- 下面這行沒有的話就會失敗 AS result
四.其餘
1.函數
(1)計算-sum(),avg(),max(),min()
select sum(Amount) from smartcashier where CreateTime>"2019-02-01 00:00:00"
(2)count()
(3)當前時間-now()
2.運算符
>,>=,<,<=,<>,=
AND,OR,IS NULL,IS NOT NULL
LIKE,BETWEEN,IN
3.別名-語句 AS
SELECT LastName AS Family, FirstName AS Name FROM Persons
4.語句 CASE...WHEN...
SELECT ID,name,Mobile,gender, CASE gender when 1 THEN '男' WHEN 2 THEN '女' ELSE '你管我' END AS '性別' from smartcustomer ORDER BY ID DESC LIMIT 3,5