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筆記
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- 34. 過濾條件、多表查詢、子查詢
- MYSQL學習筆記26: 多表查詢|子查詢MySql筆記
- 多表查詢
- sql子查詢SQL
- 子查詢-表子查詢
- MySQL聯結查詢和子查詢MySql
- Spring Data Jpa 的簡單查詢多表查詢HQL,SQL ,動態查詢, QueryDsl ,自定義查詢筆記SpringSQL筆記
- 【MySQL】多表查詢MySql
- Django 多表查詢Django
- MySQL 多表查詢MySql
- 04多表查詢
- mysql多表查詢MySql
- 複雜查詢—子查詢
- SQL--子查詢SQL
- MySQL之連線查詢和子查詢MySql
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- jpa動態查詢與多表聯合查詢
- Oracle總結【SQL細節、多表查詢、分組查詢、分頁】OracleSQL
- sql語法相關子查詢與非相關子查詢SQL
- Oracle-多表查詢Oracle
- ORM多表查詢下ORM
- Sql Server系列:多表連線查詢SQLServer
- SQL複雜查詢多表連線SQL
- 【SQL查詢】集合查詢之INTERSECTSQL
- Sql Server系列:子查詢SQLServer
- select查詢之三:子查詢
- MySQL全面瓦解11:子查詢和組合查詢MySql
- 區分關聯子查詢和非關聯子查詢
- exist-in和關聯子查詢-非關聯子查詢
- oracle心得3--多表查詢@分組查詢@子查詢講解與案例分析@經典練習題Oracle
- SQL面試題 三(單表、多表查詢)SQL面試題
- OCP課程7:SQL之多表查詢SQL
- [冷楓推薦]:資料庫操作,內外聯查詢,分組查詢,巢狀查詢,交叉查詢,多表查詢,語句小結。資料庫巢狀
- MySQL多表關聯查詢MySql
- MySQL 多表查詢分頁MySql
- JPA多表關聯查詢