内容发布更新时间 : 2025/4/9 15:04:49星期一 下面是文章的全部内容请认真阅读。
SELECT查询语句格式:
SELECT select_list
[INTO new_table_name] FROM table_list [WHERE conditions]
[GROUP BY group_by_list] [HAVING search_conditions]
[ORDER BY order_list [ASC | DESC] ]
1.查询StudentInfo表中所有的学生的详细信息,SQL代码如下所示:
SELECT *
FROM StudentInfo
2.查询StudentInfo表中所有学生的学号、姓名、系别、专业等信息,SQL代码如下所示:
SELECT sno,sname,depart,major FROM StudentInfo
3.查询全体学生的学号、姓名及年龄信息,SQL代码如下所示:
SELECT Sno,Sname,Year(GETDATE())-Year(Birthday) FROM StudentInfo
注:YEAR(日期)函数的作用是返回日期的年份,GETDATE()函数的作用是返回系统日期和时间。
4.查询全体学生的学号、姓名及年龄信息,并且为年龄列定义别名为“Age”。SQL代码如下所示:
SELECT Sno,Sname,Year(GETDATE())-Year(Birthday) Age FROM StudentInfo
5.查询有学生选修的教学计划的教学计划号。SQL代码如下所示:
SELECT TeachTaskID FROM SC
6.查询有学生选修的教学计划的教学计划号,并去掉重复行。SQL代码如下所示: SELECT DISTINCT TeachTaskID FROM SC 注意观察以上两条语句执行结果的差别。
7.查询StudentInfo表中学号为201001903029的学生的详细信息,SQL代码如下所示: SELECT *
FROM StudentInfo
WHERE Sno='201001903029'
8.查询出生年月在1991-03-15日以后的学生的详细信息,SQL代码如下所示: SELECT *
FROM StudentInfo
where Birthday>'1991-03-15'
9.查询成绩在70-80之间的学生的学号及教务任务号等信息,SQL代码如下所示: SELECT TeachTaskID,Sno,Grade FROM SC
WHERE Grade BETWEEN 70 and 80 注意:BETWEEN 70 and 80包含70和80。
10.查询不是计算机系和服装系学生的姓名、性别和专业,SQL代码如下所示: SELECT Sname,Sex,Depart,Major FROM StudentInfo
WHERE Depart not in('计算机系','服装系')
11.查询2009-2010学年第1学期学生选课的学生号、课程号及成绩,SQL代码如下所示:
SELECT Sno,SUBSTRING(TeachTaskID ,15,6) as Cno,Grade FROM SC
WHERE TeachTaskID like ' 09-2010-1%' 注意:SQL Server 2008中SUBSTRING函数的函数原型为:
SUBSTRING ( value_expression ,start_expression , length_expression )
其作用是返回字符串value_expression中从start_expression位置开始的length_expression个字符。如果start_expression小于零,会返回错误;如果start_expression大于value_expression的长度,则返回零长度的表达式。
12.查询名字最后一个字为“娟”,且名字为三个字的学生详细信息,SQL代码如下所示:
SELECT *
FROM StudentInfo
WHERE Sname like '__娟'
注意:'__娟'中,娟前为两个下划线,中间没有空格。在SQL Server 2008中,数据类型nvarchar是按字符存储的,即nvarchar(20)能存储20个中文字符。而数据类型varchar是按字节存储的,即varchar(20)能存储20个字节长度的字符,而存储中文时1个字符占用两个字节,因此只能存储10个中文字符。在SQL Server 2008中,通配符“_”表示任意单个字符,不管单个字符是按字符存储还是按字节存储。因此表StudentInfo中Sname的数据类型为不管是nvarchar还是varchar,名字最后一个字为“娟”且名字为三个字的表示方法都是“__娟”,即娟前有两个下划线。
13.查询 CourseInfo表中没有先行课的课程号与课程名称,SQL代码如下所示:
SELECT cno,cname FROM CourseInfo
WHERE cpno is null
14.查询在计算机系的女学生的详细信息。SQL代码如下所示: SELECT * FROM StudentInfo
WHERE Depart='计算机系' and Sex='女'
15.查询是教授或者是博士的教师详细信息。SQL代码如下所示:
SELECT * FROM TeacherInfo
WHERE ProfTitle ='教授' or Degree ='博士'
16.查询在2009-2010年第2学期,选修140176课程的学生学号及成绩,查询结果按成绩降序排列。SQL代码如下所示:
SELECT Sno,Grade FROM SC
WHERE TeachTaskID like '(2009-2010-2)-140176%' ORDER BY Grade DESC 注意观察ORDER BY的作用。
17.查询计算机系学生的总人数,SQL代码如下所示: SELECT COUNT(*) as 人数 FROM StudentInfo WHERE Depart ='计算机系'
18.查询在2009-2010年第2学期,选修140176课程中的最高分,SQL代码如下所示: SELECT MAX(Grade) FROM SC
WHERE TeachTaskID like '(2009-2010-2)-140176%' 19.查询各教学计划号及相应的选课人数,SQL代码如下所示 SELECT TeachTaskID ,COUNT(Sno) as 人数 FROM SC
GROUP BY TeachTaskID 20.查询在2009-2010年第2学期选修了2门以上课程的学生学号,SQL代码如下所示: SELECT Sno FROM SC
WHERE TeachTaskID like '(2009-2010-2)%' GROUP BY Sno
HAVING COUNT(*)>=2
Insert 语句格式
INSERT [INTO] table_name [colunm_list] VALUES(data_values)
1.插入一条学生记录,具体内容如下:
(201001903066,李斯,男,1990-6-6,计算机系,网络工程,4) SQL代码如下所示:
INSERT
INTO StudentInfo (sno,sname,sex,birthday,depart,major,lengsch)
values ('201001903066','李斯','男', '1990-6-6','计算机系','网络工程',4) 或者
INSERT
INTO StudentInfo
values ('201001903066','李斯','男', '1990-6-6','计算机系','网络工程',4) 2.插入一条学生记录,具体内容如下:
学号:201001903066,姓名:李根,其余信息待定。 SQL代码如下所示:
INSERT
INTO StudentInfo (sno,sname) values ('201001903068','李根') 或者
INSERT
INTO StudentInfo (sname,sno) values ('李根','201001903068') 或者 INSERT