mysql怎么做連表查詢(xún) mysql連表查詢(xún)效率

mysql 同時(shí)查兩個(gè)表怎么做?

建議采用聯(lián)合查詢(xún) join 而且使用全連接(FULL JOIN)方式

建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁(yè)設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開(kāi)發(fā)技術(shù)和網(wǎng)頁(yè)設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)公司專(zhuān)業(yè)提供成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作(企業(yè)站、自適應(yīng)網(wǎng)站建設(shè)、電商門(mén)戶(hù)網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶(hù)體驗(yàn)的提升,我們力求做到極致!

select *

from web_pian

FULL JOIN Orders

ON web_pian.mingcheng=web_shang.mingcheng

Order by web_pian.mingcheng

解釋下:FULL Join 全連接將會(huì)輸出所有的記錄,即使有些空缺,和Left Join 左連接有所不同

如何使MYSQL多表聯(lián)合查詢(xún)?

select * from 表1 inner join 表2 on 關(guān)聯(lián)條件

select * from 表1 left outer join 表2 on 關(guān)聯(lián)條件

select * from 表1 right outer join 表2 on 關(guān)聯(lián)條件

select * from 表1 cross join 表2 on 關(guān)聯(lián)條件

MYSQL查詢(xún)

查詢(xún)平均成績(jī)大于70分的同學(xué)的學(xué)號(hào)和平均成績(jī)

SELECT s.id,AVG(sc.score) FROM student s,studentcourse sc WHERE s.id=sc.student_id GROUP BY s.id HAVING ?AVG(sc.score)70;

查詢(xún)所有同學(xué)的學(xué)號(hào)、姓名、選課數(shù)、總成績(jī)

SELECT id,NAME

FROM student

WHERE id NOT IN (SELECT student_id

FROM studentcourse

WHERE course_id IN (SELECT course.id

FROM teacher,course

WHERE teacher.id=course.teacher_id

AND teacher.name=’關(guān)羽’));

查詢(xún)學(xué)生信息和平均成績(jī)

SELECT s.id,s.name,s.city,s.age, c.name,sc.score,t.name

FROM student s,studentcourse sc,course c,teacher t

WHERE s.id=sc.student_id AND c.id=sc.course_id AND c.teacher_id=t.id GROUP BY s.id;?

MySQL聯(lián)表查詢(xún)的索引使用

一共3張表 knowledge , knowledge_question , knowledge_answer ,數(shù)據(jù)在 6000~10000 之間。

執(zhí)行的語(yǔ)句:

執(zhí)行時(shí)間約 10分鐘 ,查看執(zhí)行計(jì)劃如下:

全部都是全表掃描,根據(jù)MySQL聯(lián)表查詢(xún)的算法 Nested-Loop Join ,MySQL查詢(xún)的結(jié)果集是3張表的笛卡爾積,所以效率特別低。

耗時(shí)變成 20毫秒

給Where條件建立索引,并不一定會(huì)使用。

比如:在表 knowledge 的字段 update 上建立索引 idx_time :

結(jié)果執(zhí)行上來(lái)看,并沒(méi)有使用索引 idx_time 。

如果where條件從 k.update_time'2019-01-03 12:00:00' 修改為 k.update_time='2019-01-03 12:00:00' (從 變成 = )

則會(huì)使用索引 idx_time

在建立索引的時(shí)候,會(huì)遇到 Table Metadata Lock 的問(wèn)題,可以先 show processlist ,找到占用表鎖的連接,然后 kill 。

分享標(biāo)題:mysql怎么做連表查詢(xún) mysql連表查詢(xún)效率
分享路徑:http://bm7419.com/article12/dohppdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、外貿(mào)建站企業(yè)建站、網(wǎng)站內(nèi)鏈ChatGPT、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名