原文鏈接:https://mp.weixin.qq.com/s/v8qh3b771ed5pkcAxPllJw
寫在前面:
從實(shí)踐的角度講,熟悉數(shù)據(jù)庫(kù)的第一步大概率是查詢,今天總結(jié)了數(shù)據(jù)庫(kù)查詢的基礎(chǔ)知識(shí),分享給大家~
基礎(chǔ)部分
最簡(jiǎn)單的查詢語(yǔ)句
SELECT 字段名1,字段名2 FROM 表名
查詢?nèi)孔侄?/p>
SELECT *FROM表名
查詢并去重
篩選掉字段名1,字段名2都相同的數(shù)據(jù)項(xiàng)
SELECT DISTINCT 字段名1,字段名2FROM 表名
查詢到的字段賦以新字段名
SELECT 字段名1 AS 新字段名1,字段名2 AS 新字段名2FROM 表名
通過組合邏輯查詢數(shù)據(jù)表中不存在的字段
SELECT 字段名1,計(jì)算邏輯1 AS 字段名2FROM 表名
例如:
SELECT user_id,SUM(VALUE1,VALUE2) AS VALUEFROM use_info_table
添加篩選條件
SELECT 字段名1,字段名2FROM 表名WHERE 條件1 AND 條件2 OR 條件3
分組查詢(常見用法)
SELECT 字段名1,COUNT(字段名2),SUM (字段名3)FROM 表名GROUP BY 字段名1
解釋:按字段名1分組,在分組內(nèi)對(duì)字段2計(jì)數(shù),對(duì)字段3求和
分組查詢(不常見用法)
SELECT 字段名1,字段名2FROM 表名GROUP BY 字段名1
解釋:按字段名1分組,在分組內(nèi)對(duì)字段2隨機(jī)取值
對(duì)查詢結(jié)果排序
SELECT 字段名1,字段名2FROM 表名ORDER BY 字段名1 ASC/DESC
解釋:ASC表升序,DESC表降序,默認(rèn)升序
對(duì)查詢結(jié)果進(jìn)行過濾
SELECT 字段名1,字段名2FROM 表名HAVING 條件1 AND 條件2 OR 條件3
解釋:WHERE用于約束數(shù)據(jù),在返回結(jié)果集之前起作用,HAVING是一個(gè)過濾聲明,是在查詢返回結(jié)果集以后對(duì)查詢結(jié)果進(jìn)行的過濾操作。
限制輸出數(shù)據(jù)項(xiàng)條數(shù)
SELECT 字段名1,字段名2 FROM 表名LIMIT 條數(shù)
以上命令執(zhí)行順序
select–>where–>groupby–>having–>orderby
多表查詢、子查詢、UNION操作符
內(nèi)連接INNERJOIN
SELECT a.字段名1,b.字段名3FROM 表1 aINNER JOIN 表2 bON a.字段名1 = b.字段名2
解釋:只有當(dāng)表1字段1和表2字段2都存在時(shí)才會(huì)匹配出結(jié)果
左連接LEFTJOIN
SELECT a.字段名1,b.字段名3FROM 表1 aLEFT JOIN 表2 bON a.字段名1 = b.字段名2
解釋:以表1字段1為準(zhǔn),表2字段2無對(duì)應(yīng)值時(shí)補(bǔ)Null
右連接RIGHTJOIN
SELECT a.字段名1,b.字段名3FROM 表1 aRIGHT JOIN 表2 bON a.字段名1 = b.字段名2
解釋:以表2字段2為準(zhǔn),表1字段1無對(duì)應(yīng)值時(shí)補(bǔ)Null
更多內(nèi)容麻煩移步原文:
https://mp.weixin.qq.com/s/v8qh3b771ed5pkcAxPllJw