MySql數(shù)據(jù)庫(kù)中的子查詢與高級(jí)應(yīng)用淺析
MySql數(shù)據(jù)庫(kù)中的子查詢:
子查詢:在一條select查詢語(yǔ)句中嵌套另一條select語(yǔ)句,其主要作用是充當(dāng)查詢條件或確定數(shù)據(jù)源。
代碼案例如下:
例1. 查詢大于平均年齡的學(xué)生:
select * from students where age > (select avg(age) from students);
例2. 查詢學(xué)生在班的所有班級(jí)名字:
select name from classes where id in (select cls_id from students where cls_id is not null);
例3. 查找年齡最大,身高最高的學(xué)生:
select * from students where (age, height) = (select max(age), max(height) from students);
MySql的高級(jí)應(yīng)用:
1.將查詢出來(lái)的數(shù)據(jù)添加到一個(gè)新的表中:
使用子查詢將查詢后的結(jié)果作為數(shù)據(jù)插入到新的表中,通過(guò)關(guān)鍵字 create table ... select ...實(shí)現(xiàn),代碼實(shí)現(xiàn):
create table 表名(字段名1, 類型 約束,...) select 字段名 from 表名 where 查詢條件
其執(zhí)行流程是,先執(zhí)行select語(yǔ)句通過(guò)where條件確定數(shù)據(jù)源,然后再將查詢出來(lái)的數(shù)據(jù)插入到新創(chuàng)建的表中。
注意:在使用此方法時(shí),要想給表中的指定字段添加數(shù)據(jù),那么需要將查找出來(lái)的字段起一個(gè)和表中字段名相同的別名。
2.將查詢的結(jié)果添加到表中:
使用子查詢將查詢后的結(jié)果作為數(shù)據(jù)插入到表中,通過(guò)關(guān)鍵字 insert into ... select ...實(shí)現(xiàn),代碼實(shí)現(xiàn):
insert into 表名(字段名1,...) select 字段名1,.. from 表名 where 查詢條件
其執(zhí)行流程是,先執(zhí)行select語(yǔ)句,將指定的數(shù)據(jù)通過(guò)where 條件篩選出來(lái),然后再執(zhí)行insert into 語(yǔ)句給指定的字段名進(jìn)行數(shù)據(jù)的添加。
3.使用連接更新表中的某個(gè)字段的數(shù)據(jù):
使用連接更新表中的字段數(shù)據(jù),通過(guò)關(guān)鍵字update ... join..關(guān)鍵字實(shí)現(xiàn),代碼實(shí)現(xiàn):
update 表1 join 表2 on 表1.字段 = 表2.字段 set 表1.字段 = 表2.字段
其執(zhí)行流程是將兩個(gè)表連接后,把表2中的字段的值設(shè)置給表1中的指定字段。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
- mysql連接查詢、聯(lián)合查詢、子查詢?cè)砼c用法實(shí)例詳解
- MySQL多表查詢實(shí)例詳解【鏈接查詢、子查詢等】
- mysql實(shí)現(xiàn)多表關(guān)聯(lián)統(tǒng)計(jì)(子查詢統(tǒng)計(jì))示例
- 詳解MySQL數(shù)據(jù)庫(kù)--多表查詢--內(nèi)連接,外連接,子查詢,相關(guān)子查詢
- 詳解MySQL子查詢(嵌套查詢)、聯(lián)結(jié)表、組合查詢
- MySQL子查詢操作實(shí)例詳解
- MYSQL子查詢和嵌套查詢優(yōu)化實(shí)例解析
- Mysql數(shù)據(jù)庫(kù)性能優(yōu)化之子查詢
- Mysql數(shù)據(jù)庫(kù)中子查詢的使用
- MySql中子查詢內(nèi)查詢示例詳解
相關(guān)文章
CentOS 6.5下yum安裝 MySQL-5.5全過(guò)程圖文教程
在linux安裝mysql是一個(gè)困難的事情,yum安裝一般是安裝的mysql5.1,現(xiàn)在經(jīng)過(guò)自己不懈努力終于能用yum安裝mysql5.5了。下面通過(guò)兩種方法給大家介紹CentOS 6.5下yum安裝 MySQL-5.5全過(guò)程,一起學(xué)習(xí)吧2016-05-05
RHEL 6平臺(tái)MySQL數(shù)據(jù)庫(kù)服務(wù)器的安裝方法
這篇文章主要為大家詳細(xì)介紹了RHEL 6平臺(tái)MySQL數(shù)據(jù)庫(kù)服務(wù)器的安裝方法,感興趣的小伙伴們可以參考一下2016-05-05
重新restore了mysql到另一臺(tái)機(jī)器上后mysql 編碼問題報(bào)錯(cuò)
重新restore了mysql到另一臺(tái)機(jī)器上,今天新寫了一個(gè)app,發(fā)現(xiàn)在admin界面下一添加漢字就會(huì)報(bào)錯(cuò)2011-12-12
centos7環(huán)境下二進(jìn)制安裝包安裝 mysql5.6的方法詳解
這篇文章主要介紹了centos7環(huán)境下二進(jìn)制安裝包安裝 mysql5.6的方法,詳細(xì)分析了centos7環(huán)境下使用二進(jìn)制安裝包安裝 mysql5.6的具體步驟、相關(guān)命令、配置方法及操作注意事項(xiàng),需要的朋友可以參考下2020-02-02
MySQL使用GROUP?BY使用技巧和注意事項(xiàng)總結(jié)
GROUP?BY?子句是?在MySQL?中用于將查詢結(jié)果按照指定的列或表達(dá)式進(jìn)行分組的關(guān)鍵字,它通常與聚合函數(shù)一起使用,能夠?qū)γ總€(gè)分組進(jìn)行統(tǒng)計(jì)或計(jì)算,本文給大家總結(jié)了MySQL使用GROUP?BY使用技巧和注意事項(xiàng),需要的朋友可以參考下2024-05-05
MySQL之七種SQL JOINS實(shí)現(xiàn)的圖文詳解
這篇文章主要介紹了MySQL中七種SQL JOINS的實(shí)現(xiàn)方法及圖文詳解,文中也有相關(guān)的代碼示例供大家參考,感興趣的同學(xué)可以參考閱讀下2023-06-06
mysql 5.7.17 安裝配置方法圖文教程(windows)
這篇文章主要為大家分享了mysql 5.7.17 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01

