MSSQL数据查询

--1.查询出姓名为“陈鹏”的学号、手机号码和邮箱地址
Select SNO AS '学号',MobileNO AS '手机号码',StuEMail AS '邮箱地址'
From Student
Where SName='陈鹏'

--2.查询出姓名不是“陈鹏”的学生的所有信息
Select SNO AS '学号', SName AS '姓名', Sage As '年龄', Sex AS '性别', MobileNO AS '手机号码', StuEMail AS '邮箱地址'
From Student
Where SName<>'陈鹏'

--3.查询出学生年龄介于20到30间的学生学号和姓名
Select SNO As '学号',SName As '姓名'
From Student 
Where Sage between 20 And 30
--或者 Where Sage>=20 And Sage<=30

--4.查询哪些学生没有填写“年龄”信息
Select SNO As  '学号',SName As '姓名'
From Student 
Where Sage Is NUll

--5.查询出“陈鹏”,”Alice”,”Bob”的学号,年龄
Select SNO As '学号',Sage AS '年龄'
From Student
Where SName IN ('陈鹏','Alice','Bob')

--6.  查询出手机号码134、135,137,138开头,倒数第四位不是4也不是5的学生姓名(Like)
Select SName As '学生姓名'
from student 
Where MobileNO Like '[1][3][4578]%[^45]___'

--7.  查询出借过书的同学的学号 (distinct)
Select Distinct SNO As '学号' 
from BorrowBook

--7.  查询出借过书的同学的人数 (distinct)

Select Count(Distinct SNo) from BorrowBook


--8.  对Student表按照年龄升序排序,如果年龄一样,女生排在男生前面 (order by)
--首选规则:年龄   次选规则: 性别

Select SNO, SName, Sage, Sex, MobileNO, StuEMail
from Student
Order by Sage ASC,Sex DESC 

--9.  查询出Student表中的前5行记录
--查询前5行记录
Select Top 5 SNO, SName, Sage, Sex, MobileNO, StuEMail
From Student
--10、查询前40%行记录
Select Top 40 Percent  SNO, SName, Sage, Sex, MobileNO, StuEMail
From Student
--11、在表中随机取5行记录 (newid())
Select Top 5 SNO, SName, Sage, Sex, MobileNO, StuEMail
from LibraryDB.dbo.Student 
Order by newid()

----=========聚合函数=================
--1.   查询出年龄最大的学生的学号和姓名

---正确写法01
Select SNo,SName 
from student 
Where Sage=
(
    Select Max(Sage) from student 
)
---正确写法02
Select SNo,SName 
from Student
Where Sage >= All
(
  Select isnull(Sage,0) from Student
)

--2.   查询出男生的平均年龄
Select AVG(Sage) AS '男生的平均年龄'
from Student
Where Sex='男'

--3.   查询出有多少位学生借书
Select Count(Distinct SNO) AS '借书的学生数量'

from BorrowBook 

--4.   查询出计算机类的图书总共有多少本
Select * from LibraryDB.dbo.Book  
Select * from LibraryDb.dbo.BookType

Select Sum(BookSumNo) AS '计算机类图数量'
From LibraryDB.dbo.Book
Where BookTypeID =
(
    Select ID
    From LibraryDB.dbo.BookType 
    Where TypeName='计算机'
)


---============分组-Group by===============
--统计出男女生的人数
---做分组统计的时候,Selec后面只能写Group by字段和聚合函数

Select Sex As '性别', Count(*) As '人数'
from LibraryDB.dbo.Student
Group by Sex 

发布了6 篇原创文章 · 获赞 0 · 访问量 64

猜你喜欢

转载自blog.csdn.net/qiuzhimin0/article/details/104290313