mysql可以存储标点么_MySQL查询(进阶)(每个标点都是重点)
MySQL 是工作中很普遍的需要用到的,所以必須掌握,而 之前我們一直說(shuō)的都是怎么存.
你只會(huì)存不會(huì)取有個(gè)屁用.所以希望大家在如何查詢讀取數(shù)據(jù)這方面多下點(diǎn)功夫.
這篇和上一篇都是干貨,我也是第一次學(xué).反正我就是這樣理解,這樣一遍一遍寫,一遍一遍看的才慢慢有點(diǎn)感覺的.
目前還整理的很亂,先將就看,等以后想起來(lái)了我會(huì)再進(jìn)一步整理.
簡(jiǎn)單查詢 : 單表查詢和多表查詢
distinct : 去重
單表的唯一查詢用 distinct
group by : 分組
多表的唯一查詢用 group by
select * from depariment,employee;
這個(gè)就叫做笛卡爾積.
把所有記錄全都拼接一遍
查詢兩張表.把兩張表拼接到一張表,依次排開.
兩張表的所有記錄都拼接了一次(若不理解,可以實(shí)際操作看一下).
這種方式無(wú)意義.
select * from employee,department where employee.dep_id = department.id; 干的是連表的活.
上面這是提取倆個(gè)表相同的部分.但是 but 不同的部分沒留下對(duì)不對(duì)
下面就要用的很神奇的東西
******inner join?內(nèi)連接:按照 on 的條件,只取兩張表相同的部分,鏈接成一張?zhí)摂M的表.
select * from employee?inner join?department?onemployee.dep_id = department.id;
翻譯 : 我先查 employee, 在此基礎(chǔ)上繼續(xù)查 department,??on后面是條件.
select * from employee?left?join department?onemployee.dep_id = department.id;
上面就是左鏈接
翻譯 : 在按照 on 條件,取到兩張表共同的基礎(chǔ)上,保留左表的記錄.
select * from employee?rightjoin department?onemployee.dep_id = department.id;
翻譯 : 保留右表
上面就是右鏈接
下面說(shuō)的是,要把左右表各自不一樣的全拿出來(lái),稱為 : 全鏈接union
select * from employee?left?join department?onemployee.dep_id = department.id
union
select * from employee?rightjoin department?onemployee.dep_id = department.id;
子查詢:
in 是因?yàn)榭赡苡卸鄠€(gè)
查詢?nèi)藬?shù)只有1人的部門名:
select name from department where id in ( select dep_id from employee group by dep_id having count(id) = 1 );
MySQL查詢(進(jìn)階)(每個(gè)標(biāo)點(diǎn)都是重點(diǎn))
標(biāo)簽:必須掌握???group???條件???inner???mysql???理解???nio???***???連接
本條技術(shù)文章來(lái)源于互聯(lián)網(wǎng),如果無(wú)意侵犯您的權(quán)益請(qǐng)點(diǎn)擊此處反饋版權(quán)投訴
本文系統(tǒng)來(lái)源:http://www.cnblogs.com/ugfly/p/7503051.html
總結(jié)
以上是生活随笔為你收集整理的mysql可以存储标点么_MySQL查询(进阶)(每个标点都是重点)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dvpapi.exe进程安全吗 dvpa
- 下一篇: mysql死锁的排查方法_MySQL死锁