MySql數據庫中的子查詢與高級應用淺析
MySql數據庫中的子查詢:
子查詢:在一條select查詢語句中嵌套另一條select語句,其主要作用是充當查詢條件或確定數據源。
代碼案例如下:
例1. 查詢大于平均年齡的學生:
select * from students where age > (select avg(age) from students);
例2. 查詢學生在班的所有班級名字:
select name from classes where id in (select cls_id from students where cls_id is not null);
例3. 查找年齡最大,身高最高的學生:
select * from students where (age, height) = (select max(age), max(height) from students);
MySql的高級應用:
1.將查詢出來的數據添加到一個新的表中:
使用子查詢將查詢后的結果作為數據插入到新的表中,通過關鍵字 create table ... select ...實現,代碼實現:
create table 表名(字段名1, 類型 約束,...) select 字段名 from 表名 where 查詢條件
其執(zhí)行流程是,先執(zhí)行select語句通過where條件確定數據源,然后再將查詢出來的數據插入到新創(chuàng)建的表中。
注意:在使用此方法時,要想給表中的指定字段添加數據,那么需要將查找出來的字段起一個和表中字段名相同的別名。
2.將查詢的結果添加到表中:
使用子查詢將查詢后的結果作為數據插入到表中,通過關鍵字 insert into ... select ...實現,代碼實現:
insert into 表名(字段名1,...) select 字段名1,.. from 表名 where 查詢條件
其執(zhí)行流程是,先執(zhí)行select語句,將指定的數據通過where 條件篩選出來,然后再執(zhí)行insert into 語句給指定的字段名進行數據的添加。
3.使用連接更新表中的某個字段的數據:
使用連接更新表中的字段數據,通過關鍵字update ... join..關鍵字實現,代碼實現:
update 表1 join 表2 on 表1.字段 = 表2.字段 set 表1.字段 = 表2.字段
其執(zhí)行流程是將兩個表連接后,把表2中的字段的值設置給表1中的指定字段。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
相關文章
CentOS 6.5下yum安裝 MySQL-5.5全過程圖文教程
在linux安裝mysql是一個困難的事情,yum安裝一般是安裝的mysql5.1,現在經過自己不懈努力終于能用yum安裝mysql5.5了。下面通過兩種方法給大家介紹CentOS 6.5下yum安裝 MySQL-5.5全過程,一起學習吧2016-05-05
重新restore了mysql到另一臺機器上后mysql 編碼問題報錯
重新restore了mysql到另一臺機器上,今天新寫了一個app,發(fā)現在admin界面下一添加漢字就會報錯2011-12-12
centos7環(huán)境下二進制安裝包安裝 mysql5.6的方法詳解
這篇文章主要介紹了centos7環(huán)境下二進制安裝包安裝 mysql5.6的方法,詳細分析了centos7環(huán)境下使用二進制安裝包安裝 mysql5.6的具體步驟、相關命令、配置方法及操作注意事項,需要的朋友可以參考下2020-02-02
mysql 5.7.17 安裝配置方法圖文教程(windows)
這篇文章主要為大家分享了mysql 5.7.17 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01

