SQL 基礎(chǔ)教程
-
關(guān)鍵詞DISTINCT
作用:結(jié)果集去重。
語法:SELECT DISTINCT 列名稱 FROM 表名稱淳蔼。
這個(gè)屬于入門就要學(xué)的窑业,但是說真的,我目前為止還沒在業(yè)務(wù)實(shí)際中用到這個(gè)關(guān)鍵字窃诉。
得出的結(jié)果會自動去重杨耙。但是如果select的是多列,要多列都不同才去重飘痛。
-
WHERE 子句
作用:條件篩選
語法:SELECT 列名稱 FROM 表名稱 WHERE 列 運(yùn)算符 值
可在 WHERE 子句中使用的運(yùn)算符:<,>,<=,>=,=,between and,like,in,<>,!=...(這個(gè)<>和珊膜!=不是每個(gè)版本都支持的,但最少支持一個(gè)敦冬。)
注意這里有個(gè)小問題:就是mysql的數(shù)據(jù)轉(zhuǎn)換,比如一個(gè)字符串的值脖旱,要用‘’單引號引起來堪遂,如果不引起來也可能不報(bào)錯,但是中間會涉及數(shù)據(jù)類型轉(zhuǎn)換啥的萌庆。查詢效率會低溶褪。 -
AND 和OR 運(yùn)算符
作用:對一個(gè)以上的條件進(jìn)行篩選
語法 :SELECT 列名稱 FROM 表名稱 WHERE 列 運(yùn)算符 值 AND(OR) 列 運(yùn)算符 值
這個(gè)其實(shí)見名知意,稍微有點(diǎn)語言基礎(chǔ)的都能理解践险,用java來講猿妈,就是邏輯與和邏輯或培愁。
AND要二者都滿足们衙。OR是二者滿足一個(gè)。不過這兩個(gè)運(yùn)算符是可以一起使用的鱼的。建議不要使用系統(tǒng)默認(rèn)的優(yōu)先級占遥,而是想把先運(yùn)算的括起來俯抖。
-
ORDER BY 子句
作用:ORDER BY 語句用于對結(jié)果集進(jìn)行排序。
語法:SELECT 列 FROM 表 ORDER BY 列名 (DESC)
ORDER BY 語句默認(rèn)按照升序排序瓦胎。如果您希望按照降序進(jìn)行排序芬萍,可以使用 DESC 關(guān)鍵字。然后order by語句可以有多個(gè)排序字段搔啊,以最左的為第一排序字段柬祠。第一排序字段相同才按照第二排序字段排序,如果有第三個(gè)负芋,以此類推漫蛔。每一個(gè)排序字段可單獨(dú)指定升序還是降序。
SQL 高級教程
-
分頁查詢
作用:規(guī)定要返回的記錄的數(shù)目。
這個(gè)其實(shí)真的挺煩人的蚜点,因?yàn)椴煌瑪?shù)據(jù)庫不一樣,對于項(xiàng)目用過mysql和sql server的我來說拌阴,兩者的區(qū)別在分頁還是很明顯的绍绘。
mysql中用關(guān)鍵字LIMIT;
sqlserver中用top 條數(shù);
語法:
SELECT TOP number|percent * FROM 表名陪拘;
SELECT * FROM 表名 LIMIT n,m厂镇;
n:從第n+1條開始顯示,如果從第一條開始可省略左刽。
m:顯示多少條數(shù)據(jù)捺信。
因?yàn)槲椰F(xiàn)在沒有sql server數(shù)據(jù)庫,所以只做mysql 的demo欠痴。
-
Alias(別名)
作用:可以為列名稱和表名稱指定別名(Alias)。
其實(shí)這個(gè)實(shí)際意義幾乎沒有喇辽,使用是為了使查詢程序更易閱讀和書寫掌挚。
直接上例子:
-
JOIN
作用:join 用于根據(jù)兩個(gè)或多個(gè)表中的列之間的關(guān)系,從這些表中查詢數(shù)據(jù)菩咨。
其實(shí)join分幾種:
-
INNER JOIN(內(nèi)連接)
-
LEFT JOIN(左外連接)
-
RIGHT JOIN(右外連接)
-
FULL JOIN(全連接)
語法的話吠式,簡單一個(gè)例子,別的都是大同小異:
-
UNION 和 UNION ALL 操作符
作用:UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語句的結(jié)果集抽米。
注意:UNION 內(nèi)部的 SELECT 語句必須擁有相同數(shù)量的列特占。列也必須擁有相似的數(shù)據(jù)類型。默認(rèn)地云茸,UNION 操作符選取不同的值是目。如果允許重復(fù)的值,請使用 UNION ALL查辩。
-
MySQL 數(shù)據(jù)類型
我覺得還是mysql最常用胖笛,所以這里只說mysql了。在 MySQL 中宜岛,有三種主要的類型:文本长踊、數(shù)字和日期/時(shí)間類型。(用截圖表示了萍倡,簡書里的表格太麻煩了)
先總結(jié)到這里身弊,明天詳細(xì)說sql中的函數(shù),爭取每天學(xué)習(xí)一點(diǎn)點(diǎn)列敲,不知道多久會發(fā)生質(zhì)變阱佛。然后大家共勉,祝大家工作生活順順利利的吧戴而!
全文手打不易凑术,如果你覺得有幫到你或者有點(diǎn)用,別吝嗇的點(diǎn)個(gè)喜歡和點(diǎn)個(gè)關(guān)注哦~~