--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