其中有一個(gè)查詢滋恬,這次就較為全面的寫(xiě)一下MySQL的查詢
查詢的基本語(yǔ)法為:
select ?* ?from ?表名;
在select后面列使用distinct可以消除重復(fù)行秦效,語(yǔ)法為:
select ?distinct ?字段名 ?from ?表名雏蛮;
使用where字句對(duì)表中的數(shù)據(jù)篩選,結(jié)果為true的行會(huì)出現(xiàn)在結(jié)果集中阱州,語(yǔ)法為:
select ?* ?from ?表名 ?where ?條件挑秉;
比較運(yùn)算符:
等于 =
大于 >
大于等于 ?>=
小于 <
小于等于 <=
不等于 ?!= 或 <>
查詢標(biāo)號(hào)不大于4的科目
select ?* ?from ?表名 ?where ?id <= 4;
查詢姓名不是張三的學(xué)生
select ?* ?from ?表名 ?where ?name != "張三";
查詢沒(méi)被刪除的男生
select ?* ?from ?表名 ?where ?isdelete=0 ?and ?sex=1;
邏輯運(yùn)算符:
and ? ? or ? not?
查詢編號(hào)大于3的女同學(xué)
select ?* ?from ?表名 ?where ?id>3 ?and ?sex=0;
模糊查詢:
like ?
%表示任意多個(gè)任意字符
_表示一個(gè)任意字符
查詢姓黃的學(xué)生:
select ?* ?from ?表名 ?where ?name ?like '黃%';
范圍查詢:
in 表示在一個(gè)非連續(xù)的范圍內(nèi)
between...and... ? 表示在一個(gè)連續(xù)的范圍內(nèi)
優(yōu)先級(jí):
小括號(hào),not苔货,比較運(yùn)算符犀概,邏輯運(yùn)算符
and比or選運(yùn)算立哑,如果同時(shí)出現(xiàn)并希望先算or,需要結(jié)合()使用
聚合函數(shù):
count()表示計(jì)算總行數(shù)姻灶,括號(hào)中寫(xiě)星或列名铛绰,結(jié)果是相同的
max(列) ?表示求此列的最大值
min(列) ? 表示求此列的最小值
sum(列) ?表示求此列的和
avg(列) ? 表示求此列的平均值
分組:
語(yǔ)法:select 列1,列2,聚合... from 表名 group by 列1,列2,列3...
分組后的數(shù)據(jù)篩選:
select ?列1,列2产喉,聚合...from ?表名
group ?by ? 列1至耻,列2,列3...
having ?列1镊叁,....聚合...
having后面的條件運(yùn)算符與where的相同
對(duì)比where與having
where 是對(duì)from 后面指定的表進(jìn)行數(shù)據(jù)篩選尘颓,屬于對(duì)原始數(shù)據(jù)的篩選
having是對(duì)group ?by的結(jié)果進(jìn)行篩選
排序:
語(yǔ)法為下
slelect ? * ?from ?表名
order ?by ?列1 ?asc(從小倒下排列,即升序)
select ?* ?from ?表名
orser ?by ?列1 ?desc(從大到小排列晦譬,即降序)
分頁(yè)
select * ?from ?表名
limit ?start,count
從start開(kāi)始疤苹,獲取count條數(shù)據(jù)
start索引從0開(kāi)始