1.SELECT pro_name FROM products LIMIT5,5
LIMIT后面第一個(gè)數(shù)為開始位置,第二個(gè)數(shù)為要檢索的行數(shù),LIMIT 5, 5指示MySQL返回從行5(第一行序號(hào)是0,所以5實(shí)際是第6行)開始的5行。
LIMIT 4 OFFSET 3意為從行3開始取4行,就像LIMIT 3, 4一樣
2.也是通配符,與%一樣,但是%可以匹配多個(gè)字符,但是只能匹配一個(gè),不多也不少
3.LIKE和REGEXP的區(qū)別
LIKE匹配整個(gè)列。如果被匹配的文本僅在列值中出現(xiàn),LIKE并不會(huì)找到它,相應(yīng)的行也不會(huì)返回(使用通配符除外)。而REGEXP在列值內(nèi)進(jìn)行匹配,如果被匹配的匹配的文本在列值中出現(xiàn),REGEXP將會(huì)找到它,相應(yīng)的行將被返回(如果適應(yīng)定位符號(hào)^和$,可以實(shí)現(xiàn)REGEXP匹配整個(gè)列而不是列的子集)。
e.g.如果表products中的列pro_name有兩個(gè)數(shù)據(jù),分別是Jetpack 1000和Jetpack 2000
select pro_name from products where pro_name like '1000'
select pro_name from products where pro_name REGEXP '1000'
如果執(zhí)行上述兩條語(yǔ)句,會(huì)發(fā)現(xiàn)第一條語(yǔ)句不返回?cái)?shù)據(jù),而第二條語(yǔ)句返回一行。
4.count()與count(1)的區(qū)別
一般情況下select count() 與select count(1)兩者返回的結(jié)果一致。但是針對(duì)表中主鍵的有無(wú),情況會(huì)有不同。
無(wú)主鍵:count(1)比count()快
有主鍵:count(主鍵)最快
count()與count(1)都包括null統(tǒng)計(jì),而count(column)不包括null統(tǒng)計(jì),即如果指定列名,則指定列的值為空的行被COUNT()函數(shù)忽略,但如果COUNT(*),則不忽略。
5.Concat()拼接串,即把多個(gè)串連接起來(lái)形成一個(gè)較長(zhǎng)的串,各個(gè)串之間用逗號(hào)分隔。
e.g.concat(A,'(',B,')')------->A(B)
6.RTrim()(去掉串右邊的空格),LTrim()(去掉串左邊的空格),Trim()(去掉串左右兩邊的空格)
7.SOUNDEX是一個(gè)將任何文本串轉(zhuǎn)換為描述其語(yǔ)音表示的字母數(shù)字模式的算法。
SOUNDEX考慮了類似的發(fā)音字符和音節(jié),使得能對(duì)串進(jìn)行發(fā)音比較而不是字母比較
e.g.資料中有個(gè)客戶名叫Y.Lee,但其實(shí)是輸入錯(cuò)誤,他的正確名字是Y.Lie,要是用正確的名字查找顯然是查找不到的,但可以用SOUNDEX函數(shù)查找。
select * from customers where Soundex(cust_contact)=Soundex('Y.Lie');
8.UNION默認(rèn)去重,如果想返回所有匹配行,可使用UNION ALL而不是UNION。