20180515講解查詢加強練習03

2021-09-23 05:47:54 字數 2398 閱讀 7151

use master

gorestore database [studentdb] from disk=『d:\studentdb.bak』

gouse studentdb

go– 1所有學生的基本資訊,並按學號排序

select *

from 學生

order by 學號

– 2所有女生的資訊和女生的人數

select *

from 學生

where 性別=『女』

goselect count(*) as 女生人數

from 學生

where 性別=『女』

go– 3所有男生的 姓名,進校時間和 通常的年齡 ,並讓兩個字的名字對齊三個字的名字,中間加入空格

select

case

when len(rtrim(姓名))=2 then left(姓名,1)+』 '+ right(rtrim(姓名),1)

else 姓名

end as 姓名

,進校時間

,18 as 通常的年齡

from 學生

– 4所有學生的姓名和總評成績

select

姓名,總評成績

from

學生 join 成績 on 學生.學號=成績.學號

– 5所有課程名稱和總評成績

select

課程名稱,總評成績

from

課程 join 成績 on 課程.課程**=成績.課程**

– 6所有學生的姓名,課程名稱和總評成績

– 7查詢學號為 2005023029 的學生的 選課門數

select count(*) as 選課門數

from 成績

where

學號=『2005023029』

– 8查詢學號為2005023029的學生的 學號,姓名,選課門數

select

學生.學號,姓名,count() as 選課門數

from

成績join 學生 on 學生.學號=成績.學號

where

學生.學號=『2005023029』

group by

學生.學號,姓名

–查詢學生的 學號,姓名,選課門數

select

學生.學號,姓名,count() as 選課門數

from

成績join 學生 on 學生.學號=成績.學號

– where

– 學生.學號=『2005023029』

group by

學生.學號,姓名

– 9查詢所有不及格學生的學號,姓名

select

學生.學號,姓名

from

成績join 學生 on 學生.學號=成績.學號

where

考試成績<60

– 9查詢所有不及格學生的學號,姓名

select * from 學生

–去重select distinct

學生.學號,姓名

from

成績join 學生 on 學生.學號=成績.學號

where

考試成績<60

– 10查詢所 有總評成績 有不及格成績 的 學生的 學號,姓名,課程名稱,總評成績

select

學生.學號,姓名,課程名稱,總評成績

from

學生join 成績 on 學生.學號=成績.學號

join 課程 on 成績.課程**=課程.課程**

where

總評成績<60

– 11查詢所 有總評成績有不及格成績的 學生的學號,姓名,選課門數,並按選課門數多少降序排序

select

學生.學號,姓名,count(*) as 選課門數

from

學生join 成績 on 學生.學號=成績.學號

– join 課程 on 成績.課程**=課程.課程**

where

學生.學號

in (

select 學號 from 成績 where 總評成績<60

)group by

學生.學號,姓名

order by 3 desc

– 12查詢所有總評成績有不及格成績的學生的學號,姓名, 掛課門數 ,並按掛課門數多少降序排序

select top 10

學生.學號,姓名,count(*) as 掛課門數

from

學生join 成績 on 學生.學號=成績.學號

join 課程 on 成績.課程**=課程.課程**

where

總評成績<60

group by

學生.學號,姓名

order by 3 desc

– --看看是哪一位神人掛科最多呀

詳細講解雙查詢注入

我說雙查詢很難講清楚,這次就試著講一下。讀了一些原理性的東西。然後盡量通俗的給大家講清楚。在此之前,我們理解一下子查詢,查詢的關鍵字是select,這個大家都知道。子查詢可以簡單的理解在乙個select語句裡還有乙個select。裡面的這個select語句就是子查詢。看乙個簡單的例子 select ...

SQL 多表查詢詳細講解

多表查詢,也稱為多表連線查詢 作為關係型資料庫最主要的查詢方式,在日常工作中被廣泛使用 常見的多表查詢操作包含 子查詢 內連線 左外連線 右外連線 完全連線 交叉連線 本篇文章將利用乙個例項逐一介紹這些操作 以 mysql 資料庫為例,建立兩張資料表 其中,學生表 id 字段對應選課記錄表中的 st...

Oracle子查詢例項講解

oracle基礎內容 子查詢 單行 any all 子查詢在select update delete語句內部可以出現select語句。內部的select語句結果可以作為外部語句中條件子句的一部分,也可以作為外部查詢的臨時表。子查詢的型別有 單行子查詢 不向外部返回結果,或者只返回一行結果。多行子查詢...