本文主要展示如何使用mysql的多列組合查詢
創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,先為梁平等服務(wù)建站,梁平等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為梁平企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
多列組合查詢平常比較少見(jiàn),初次看還覺(jué)得挺神奇的。
? mysql-filtering-by-multiple-columns[1]
? selecting-where-two-columns-are-in-a-set[2]
[1] mysql-filtering-by-multiple-columns
[2] selecting-where-two-columns-are-in-a-set
假如你有一個(gè)表,
SQL CREATE TABLE test_tab (2 id INT,
3 name VARCHAR(10),
4 age INT,
5 val VARCHAR(10)6 );你的業(yè)務(wù),有一個(gè)查詢,是
SELECT * FROM test_tab WHERE name = 一個(gè)外部輸入的數(shù)據(jù)
剛開(kāi)始,數(shù)據(jù)不多的時(shí)候,執(zhí)行效果還不錯(cuò)。
隨著數(shù)據(jù)量的增加,這個(gè)查詢,執(zhí)行起來(lái),越來(lái)越慢了。
然后在 name 上面 建立了索引
CREATE INDEX idx_test4_name ON test_tab (name );
這樣, 可以加快前面那個(gè)查詢的速度。
但是,某天,你執(zhí)行了下面這個(gè)SQL, 發(fā)現(xiàn)速度又慢了
SELECT * FROM test_tab WHERE age = 25
為啥呢? 因?yàn)?age 字段上面,沒(méi)有索引
索引只在 name 上面有
換句話說(shuō), 也就是 WHERE 里面的條件, 會(huì)自動(dòng)判斷,有沒(méi)有 可用的索引,如果有, 該不該用。
多列索引,就是一個(gè)索引,包含了2個(gè)字段。
例如:CREATE INDEX idx_test_name_age ON test_tab (name, age);那么SELECT * FROM test_tabWHEREname LIKE '張%'
AND age = 25
這樣的查詢,將能夠使用上面的索引。
多列索引,還有一個(gè)可用的情況就是, 某些情況下,可能查詢,只訪問(wèn)索引就足夠了, 不需要再訪問(wèn)表了。例如:SELECTAVG( avg ) AS 平均年齡FROMtest_tabWHEREname LIKE '張%'
這個(gè)時(shí)候, name 與 age 都包含在索引里面。 查詢不需要去檢索表中的數(shù)據(jù)。
多表查詢是指基于兩個(gè)和兩個(gè)以上的表或是視圖的查詢.在實(shí)際應(yīng)用中,查詢單個(gè)表可能不能滿足你的需求,(如顯示sales部門(mén)位置和其員工的姓名),這種情況下需要使用到(dept表和emp表)
自連接是指在同一張表的連接查詢
select * from emp where empno=(select mgr from emp where ename='ford');
子查詢是指嵌入在其它sql查詢語(yǔ)句中的select語(yǔ)句,也叫嵌套查詢
單行子查詢是 指只返回一行數(shù)據(jù)的子查詢語(yǔ)句
select * from emp where deptno=(select deptno from emp where ename='smith');
多行子查詢指返回多行數(shù)據(jù)的子查詢 使用關(guān)鍵字 in
如果我們的一個(gè)子查詢,返回的 結(jié)果是多列,就叫做列子查詢
合并多個(gè)select語(yǔ)句的結(jié)果,可以使用集合操作符 union,union all
分享標(biāo)題:MySQL怎么查詢多列,mysql求多列的和
當(dāng)前地址:http://chinadenli.net/article16/hesjgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、響應(yīng)式網(wǎng)站、動(dòng)態(tài)網(wǎng)站、虛擬主機(jī)、網(wǎng)站改版、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)