MySql数据库中的子查询使用
生活随笔
收集整理的這篇文章主要介紹了
MySql数据库中的子查询使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.子查詢概念
在一個 select 語句中,嵌入了另外一個 select 語句, 那么被嵌入的 select 語句稱之為子查詢語句,外部那個select語句則稱為主查詢語句.
2.主查詢和子查詢的關系
- 子查詢是嵌入到主查詢中
- 子查詢是輔助主查詢的,要么充當條件,要么充當數據源
- 子查詢是可以獨立存在的語句,是一條完整的 select 語句
3.子查詢有三種
- 標量子查詢: 子查詢返回的結果是一個數據(一行一列)
- 列子查詢: 返回的結果是一列(一列多行)
- 行子查詢: 返回的結果是一行(一行多列)
下面我們對三種子查詢做分類講解:
標量子查詢
查詢班級學生的平均身高
- 1.查詢班級學生平均年齡
- 2.查詢大于平均年齡的學生
select * from students where age > (select avg(age) from students);
列級子查詢
查詢學生在班的所有班級名字
- 找出學生表中所有的班級 id
- 找出班級表中對應的名字
select name from classes where id in (select cls_id from students);
行級子查詢
- 需求: 查找班級年齡最大,身高最高的學生
- 行元素: 將多個字段合成一個行元素,在行級子查詢中會使用到行元素
select * from students where (height,age) = (select max(height),max(age) from students
總結
- 子查詢是一個完整的SQL語句
- 子查詢分為三種 標量、行、列子查詢
- 標量子查詢返回的結果一行一列
- 列子查詢使用格式: 主查詢 where 條件 in (列子查詢)
- 行子查詢使用格式: 主查詢where (字段1,2,…) = (行子查詢)
總結
以上是生活随笔為你收集整理的MySql数据库中的子查询使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL数据库的内连接,左外连接和右外
- 下一篇: Python UDP聊天器