SQL 數據庫 連接查詢 變量、if else、while


一、連接查詢:通過連接運算符可以實現多個表查詢。

連接是關系數據庫模型的主要特點,也是它區別於其它類型數據庫管理系統的一個標志。

常用的兩個鏈接運算符

1.join   on(左右連接)

2.union(上下連接)  注:只有在列的數據類型一致時才能夠連接起來

二、變量

 

SQL語言也跟其他編程語言一樣,擁有變量、分支、循環等控制語句。

 

SQL語言里面把變量分為局部變量全局變量,全局變量又稱系統變量(@@)。

 

 局部變量:

 

使用declare關鍵字給變量聲明,語法非常簡單:declare @<變量名> <變量類型>

 

對變量的賦值可以使用set關鍵字,使用set關鍵字時對變量的賦值一次只能賦值一個。

 

我們也可以在查詢語句里面對這個變量進行賦值。

 

全局變量:又叫做系統變量。

運算符:

運算符優先級

if。。。else。。

while語句

 

 while if 嵌套

 

--語文成績最高的學生信息
select * from stu where scode=(select code from score where yu=(select max(yu) from score))
select *from stu where scode=(select top 1 code from score order by yu desc)
--數學成績最低的學生的任課老師的所有信息
select * from tch where tcode=(select shujiao from stu where scode=(select code from score where shu=(select min(shu) from score)))
--查詢匯總成一個表:各門課分數、學生姓名、班級、任課老師的姓名
select stu.sname,banji,score.yu,shu,ying,
(select tname from tch where tcode=stu.yujiao) 語文老師,
(select tname from tch where tcode=stu.shujiao)數學老師,
(select tname from tch where tcode=stu.yingjiao)英語老師
from stu join score on stu.scode=score.code
print @@version
select yu,
case yu
when 99 then '優秀'
when 88 then '良好'
else '合格'
end
from score
go
--查詢每個班里數學最高分
select banji,max(shu) from stu join score on  stu.scode=score.code group by banji
--查詢語文平均分最高的班級的老師的信息
select * from tch where tcode=
(select top 1 yujiao from stu where banji=
(select top 1 banji from stu join score on stu.scode=score.code group by banji order by avg(yu) desc))
練習

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM