MYSQL(having子句、order by子句嗦嗡、limit子句、交叉-內(nèi)連接)

語(yǔ)法順序:select [select 選項(xiàng)] 字段列表[字段別名]/* from 數(shù)據(jù)源 [where條件子句] [group by子句] [having 子句] [order by子句] [limit 子句];?

having子句

與where子句一樣侥祭,是進(jìn)行條件判斷的(having讀內(nèi)存,可以使用字段別名矮冬;where讀磁盤,不可以使用字段別名

having能夠使用字段別名

(having可以做where的所有事次哈,而where卻不能做having的所有事)

-- 求出所有班級(jí)人數(shù)大于等于2的學(xué)生人數(shù)(having子句不能放group by前面,where可以)

select c_id,count(*) from my_student group by c_id having count(*)>=2;

select c_id,count(*) from my_student where count(*)>=2 group by c_id; -- 報(bào)錯(cuò)

having可以使用字段別名亿乳、where不可以

-- 優(yōu)化(起別名)

select c_id,count(*) as total from my_student group by c_id having total>=2;

select c_id,count(*) as total from my_student where total>=2 group by c_id; -- 報(bào)錯(cuò)

-- having子句進(jìn)行條件查詢

select name as 名字, number as 學(xué)號(hào) from my_student having 名字 like '張%';

select name as 名字, number as 學(xué)號(hào) from my_student where 名字 like '張%'; -- 報(bào)錯(cuò) 找不到名字這個(gè)字段

order by子句

基本語(yǔ)法:order by 字段名 [asc|desc](asc默認(rèn)升序,desc降序)

-- 排序

select * from my_student group by c_id;-- 每個(gè)班級(jí)只取一個(gè)

select * from my_student order by c_id;-- 保留所有記錄葛假,并按班級(jí)進(jìn)行排序

-- 多字段排序:先班級(jí)排序 后性別排序(設(shè)置同一個(gè)班,女生在前聊训,男生在后)

select * from my_student order by c_id,sex desc;

limit子句

方案一:只用來限制長(zhǎng)度,即數(shù)據(jù)量:limit 數(shù)據(jù)量;

-- 查詢學(xué)生:前兩個(gè)(典型的限制計(jì)量數(shù))(從哪開始每頁(yè)多少條)

select * from my_student limit 2;

方案二:限制起始位置带斑,限制數(shù)量:limit 起始位置,長(zhǎng)度;

????????????limit offset,length;

????????????length:每頁(yè)顯示的數(shù)據(jù)量,基本不變

????????????offset = (頁(yè)碼-1)*每頁(yè)顯示量

select * from my_student limit 0,2; -- 記錄是從0開始編號(hào)

select * from my_student limit 4,2; -- 記錄是從4開始編號(hào)

select * from my_student limit 5,2; -- 記錄是從5開始編號(hào)

交叉-內(nèi)連接

連接查詢(join)分類:內(nèi)連接勋磕、外連接、自然連接挂滓、交叉連接

使用方式:左表 join 右表

-- 更改ID為班級(jí)表的第一列

alter table my_class change id id int first;-- alter修改-table表-my_class表名-change更改-id-名字id-int類型-first位置;

交叉連接(cross join)(沒什么意義)

基本語(yǔ)法:左表 cross join 右表; -- 等價(jià)于:from 左表,右表;

-- 交叉連接

select * from my_student cross join my_class; -- my_student cross join my_class是數(shù)據(jù)源

內(nèi)連接([inner] join)

基本語(yǔ)法:左表 [inner] join 右表 on 左表.字段=右表.字段;

on表示連接條件

-- 內(nèi)連接(可以沒有連接條件,也就是on之后的赶站,如果沒有,系統(tǒng)會(huì)保留所有的東西——笛卡爾積)

select * from my_student inner join my_class on my_student.c_id=my_class.id; -- 完整寫法

select * from my_student inner join my_class on c_id=my_class.id; -- 可以如此簡(jiǎn)寫贝椿,省略my_student,只有學(xué)生表有c_id

select * from my_student inner join my_class on c_id=id; -- 不可如此簡(jiǎn)寫烙博,my_student與my_class兩張表都有id字段

-- 字段和表別名(c_代表班級(jí)

select s.*,c.name as c_name,c.room -- 字段的別名

from my_student as s inner join my_class as c -- 表別名

on s.c_id=c.id; -- my_student as s inner join my_class as c on s.c_id=c.id是數(shù)據(jù)源

-- 把學(xué)生表id為5的記錄的c_id設(shè)置為NULL

update my_student set c_id=null where id=5;

-- 不寫on條件烟逊,就是笛卡爾積

select s.*,c.name as c_name,c.room

from my_student as s inner join my_class as c;

-- where代替on(where一個(gè)一個(gè)拉,on用索引找到直接拉)

select s.*,c.name as c_name,c.room -- 字段的別名

from my_student as s inner join my_class as c -- 表別名

where s.c_id=c.id;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末焙格,一起剝皮案震驚了整個(gè)濱河市图毕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌予颤,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛤虐,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡驳庭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門饲常,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人贝淤,你說我怎么就攤上這事柒竞〔ゴ希” “怎么了朽基?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)稼虎。 經(jīng)常有香客問我,道長(zhǎng)招刨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任计济,我火速辦了婚禮,結(jié)果婚禮上沦寂,老公的妹妹穿的比我還像新娘。我一直安慰自己传藏,他們只是感情好腻暮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哭靖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪试幽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天铺坞,我揣著相機(jī)與錄音,去河邊找鬼济榨。 笑死坯沪,一個(gè)胖子當(dāng)著我的面吹牛擒滑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播丐一,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼钝诚!你這毒婦竟也來了颖御?” 一聲冷哼從身側(cè)響起凝颇,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拧略,沒想到半個(gè)月后芦岂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垫蛆,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年袱饭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虑乖。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖疹味,靈堂內(nèi)的尸體忽然破棺而出仅叫,到底是詐尸還是另有隱情,我是刑警寧澤诫咱,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站坎缭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏幻锁。R本人自食惡果不足惜凯亮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一哄尔、第九天 我趴在偏房一處隱蔽的房頂上張望柠并。 院中可真熱鬧岭接,春花似錦、人聲如沸鸣戴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至缰雇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間械哟,已是汗流浹背疏之。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工暇咆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人爸业。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像扯旷,于是被迫代替她去往敵國(guó)和親拯爽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子薄霜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容