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

