SQL查詢的:子查詢和多表查詢
select * from student
--查詢成績大於80分的學生資訊
--方法一:子查詢
select * from student --主幹查詢學生資訊
where sno in
(
select sno from sc --只有成績表中有成績所以從成績表中查詢大於80分的學號再與學生表對應
where grade > 80
)
--方法二:多表查詢
select distinct student.* from student --distinct 去重 因為查詢成績大於80的同學的資訊,但每一同學的成績不止一門但我們只需要一次同學的資訊,所以重複的我們就去重
inner join sc on student.sno = sc.sno
where grade > 80
--查詢資料庫成績大於80的學生資訊
--方法一:子查詢
select * from student
where sno in (
select sno from sc -- 查詢在課程號和成績的限制下的學號
where grade > 80 and cno = (
select cno from course -- 查詢資料庫的課程號
where cname = '資料庫'
)
)
--方法二:多表查詢
select student.* from student
inner join sc on student.sno = sc.sno
join course on sc.cno = course.cno
where cname = '資料庫' and grade > 80
--選修10門課的學生學號
--思路:我們要先查出來每名同學選的總門數,再篩選掉
select sno,count(*) 科目數 from sc
group by sno
having COUNT(*) = 10
--選修10門課同學的資訊
select * from student
inner join (select sno from sc group by sno having COUNT(*) = 10) a on student.sno = a.sno --把查詢結果當成新的一張表
相關文章
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- 34. 過濾條件、多表查詢、子查詢
- MYSQL學習筆記26: 多表查詢|子查詢MySql筆記
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- 多表查詢
- Spring Data Jpa 的簡單查詢多表查詢HQL,SQL ,動態查詢, QueryDsl ,自定義查詢筆記SpringSQL筆記
- MySQL 多表查詢MySql
- 04多表查詢
- mysql多表查詢MySql
- 【MySQL】多表查詢MySql
- 複雜查詢—子查詢
- MySQL之連線查詢和子查詢MySql
- Oracle總結【SQL細節、多表查詢、分組查詢、分頁】OracleSQL
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- jpa動態查詢與多表聯合查詢
- Oracle-多表查詢Oracle
- ORM多表查詢下ORM
- MySQL全面瓦解11:子查詢和組合查詢MySql
- 區分關聯子查詢和非關聯子查詢
- JPA多表關聯查詢
- JPA的多表複雜查詢
- 多表聯合查詢 - 基於註解SQLSQL
- SQL面試題 三(單表、多表查詢)SQL面試題
- SQL--查詢SQL
- SQL 聚合查詢SQL
- 原生SQL查詢SQL
- 391、Java框架46 -【Hibernate - 查詢HQL、查詢Criteria、查詢標準SQL】 2020.10.19Java框架SQL
- Elasticsearch中的Term查詢和全文查詢Elasticsearch
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- MySQL子查詢MySql
- 子串查詢
- MYsql 子查詢MySql
- pid,sid相互查詢,根據PID查詢sqlSQL
- 什麼是SQL 語句中相關子查詢與非相關子查詢SQL
- oracle 精確查詢和模糊查詢Oracle
- SQL語言基礎(子查詢)SQL
- sql-server不相關子查詢SQLServer
- sql-server相關子查詢SQLServer