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 查詢條件
其執行流程是,先執行select語句通過where條件確定數據源,然后再將查詢出來的數據插入到新創建的表中。
注意:在使用此方法時,要想給表中的指定字段添加數據,那么需要將查找出來的字段起一個和表中字段名相同的別名。
2.將查詢的結果添加到表中:
使用子查詢將查詢后的結果作為數據插入到表中,通過關鍵字 insert into ... select ...實現,代碼實現:
insert into 表名(字段名1,...) select 字段名1,.. from 表名 where 查詢條件
其執行流程是,先執行select語句,將指定的數據通過where 條件篩選出來,然后再執行insert into 語句給指定的字段名進行數據的添加。
3.使用連接更新表中的某個字段的數據:
使用連接更新表中的字段數據,通過關鍵字update ... join..關鍵字實現,代碼實現:
update 表1 join 表2 on 表1.字段 = 表2.字段 set 表1.字段 = 表2.字段
其執行流程是將兩個表連接后,把表2中的字段的值設置給表1中的指定字段。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- mysql連接查詢、聯合查詢、子查詢原理與用法實例詳解
- MySQL多表查詢實例詳解【鏈接查詢、子查詢等】
- mysql實現多表關聯統計(子查詢統計)示例
- 詳解MySQL數據庫--多表查詢--內連接,外連接,子查詢,相關子查詢
- 詳解MySQL子查詢(嵌套查詢)、聯結表、組合查詢
- MySQL子查詢操作實例詳解
- MYSQL子查詢和嵌套查詢優化實例解析
- Mysql數據庫性能優化之子查詢
- Mysql數據庫中子查詢的使用
- MySql中子查詢內查詢示例詳解