/* 1.查询全部课程的详细信息。T-SQL语句:*/
USE student
GO
SELECT *
FROM lesson_info
/* 3.查询学生的学号、姓名、考试成绩的语句:*/
SELECT stud_id,name,mark
FROM stud_info
/* 4.将男生的学号、姓名、性别的查询结果作为新建临时表的语句:*/
SELECT stud_id,name,gender
INTO #new_student
FROM stud_info
DROP TABLE #new_student
/* 5.查询性别为“女”的学生的姓名、电话、地址和邮编的语句:*/
SELECT name,telcode,address,zipcode
FROM stud_info
WHERE gender='女'
/* 6.列出姓“郑”、姓名为两个汉字的学生学号、姓名,性别,入学成绩的语句:*/
SELECT stud_id,name,gender,mark
FROM stud_info
WHERE name LIKE '郑__'
/* 7.查询教师职称为“助教”,或为“讲师”,或为“副教授”的教师编号、姓名、职称及工资的语*/
SELECT teacher_id,name,tech_title,salary
FROM teacher_info
WHERE tech_title IN ('讲师','助教','副教授')
SELECT *
FROM stud_info
WHERE mark IS NULL
SELECT stud_id,name,年龄=DATEDIFF(YEAR,birthday,GETDATE())
FROM stud_info
WHERE gender='女'
SELECT *
FROM stud_grade
SELECT *
FROM lesson_info
SELECT *
FROM stud_info
SELECT *
FROM teacher_info
/*8.求“Java程序设计”课程平均成绩的语句:*/
SELECT AVG(grade) AS 平均成绩
FROM stud_grade
WHERE course_id='0401010102'
/*9. 查询所有男生学号、姓名和年龄,并按出生日期进行排列(升序)的语句:*/
SELECT 学号=stud_id,姓名=name,年龄=DATEDIFF(YEAR,birthday,GETDATE())
FROM stud_info
WHERE gender='男'
ORDER BY birthday ASC
/* 11在教师信息表中,按职称分组统计“讲师”的平均年龄的语句:*/
SELECT 讲师的平均年龄=AVG(age),职称=tech_title
FROM teacher_info
WHERE tech_title=N'讲师'
GROUP BY tech_title
ORDER BY tech_title ASC
/* 10.统计计算机工程系各个专业的学生的平均入学成绩的语句:*/
SELECT 入学平均成绩=AVG(mark),substring(stud_id,5,2) AS 专业代号
FROM stud_info
WHERE substring(stud_id,3,2)='01'
GROUP BY substring(stud_id,5,2)
/* 12.对teacher_info中职称为“讲师”的工资,生成汇总行和明细行的语句:*/
SELECT *
FROM teacher_info
WHERE tech_title='讲师'
ORDER BY salary
COMPUTE AVG(salary) BY salary
/*1、显示所有职工的基本信息。*/
USE student
GO
SELECT *
FROM worker
/*2、查询所有职工所属部门的部门号,不显示重复的部门号。*/
USE student
GO
SELECT 部门号,姓名
FROM worker
/*3、求出所有职工的人数。*/
USE student
GO
SELECT 职工的总人数=COUNT(*)
FROM worker
/*4、列出最高工和最低工资*/
USE student
GO
SELECT 最高工=MAX(工资),最低工资=MIN(工资)
FROM salary
/*5、列出职工的平均工资和总工资。*/
SELECT AVG(工资)AS平均工资,COUNT(*)as 总工资
FROM salary
/*6、创建一个只有职工号、姓名和参加工作时间的新表,
名为工作日期表。*/
USE student
GO
SELECT 职工号,姓名,参加工作时间
FROM worker
/*7、显示所有女职工的年龄*/
USE student
GO
SELECT DATEDIFF(year,出生日期,GETDATE())AS 年龄
FROM worker
WHERE 性别='女'
/*8、列出所有姓刘的职工的职工号、姓名和出生日期。*/
SELECT 职工号,姓名,出生日期
FROM worker
WHERE 姓名 LIKE '刘%'
--9、列出1960年以前出生的职工的姓名、参加工作日期。
SELECT 姓名,参加工作时间
FROM worker
WHERE 出生日期<'1960-1-1 0:00:00'
--10、列出工资在1000-2000之间的所有职工姓名。
SELECT 姓名
FROM salary
WHERE 工资 BETWEEN 1000 AND 2000
--11、列出所有陈姓和李姓的职工姓名。
SELECT 姓名
FROM worker
WHERE 姓名 LIKE '陈%' OR 姓名 LIKE '李%'
--12、列出所有部门号为2和3的职工号、姓名、党员否。
SELECT 职工号,姓名,部门号,党员否
FROM worker
WHERE 部门号 IN('2','3')
--13、将职工表worker中的职工按出生的先后顺序排序。
SELECT *
FROM worker
ORDER BY 出生日期
--14、显示工资最高的前3名职工的职工号和姓名。
SELECT TOP 3 职工号,姓名,max(工资) 工资
FROM salary
GROUP BY 职工号,姓名
--15、求出各部门党员的人数。(党员否值为‘1’代表党员,值为‘0’代表非党员)
SELECT 部门号 部门号,COUNT(党员否) 党员人数
FROM worker
WHERE 党员否='1'
GROUP BY 部门号
--16、查询员工工资并统计平均工资
SELECT 姓名,工资
FROM salary
COMPUTE avg(工资)
--17、列出总人数大于4的部门号和总人数。
SELECT 部门号,COUNT(部门号) 总人数
FROM worker
GROUP BY 部门号
HAVING COUNT(部门号)>4
--二、多表查询
--1、列出每名职工的职工号、姓名和部门名。
SELECT 职工号,姓名,部门号
FROM worker
--2、列出市场部的所有女职工的姓名和党员否。
SELECT A.姓名,A.党员否
FROM worker A,depart B
WHERE A.性别='女' AND B.部门名='市场部'
--3、显示所有职工的姓名、部门名和工资数。
SELECT A.姓名,B.部门名,C.工资
FROM worker A,depart B,salary C
WHERE A.部门号=B.部门号 and A.职工号=C.职工号
--4、*显示所有职工的职工号、姓名、部门名和工资,并按部门名顺序排列。
SELECT A.职工号,A.姓名,B.部门名,C.工资
FROM worker A,depart B,salary C
WHERE A.部门号=B.部门号 and A.职工号=C.职工号
ORDER BY B.部门名
--5、*显示各部门名和该部门的所有职工平均工资。
SELECT B.部门名,avg(工资) 平均工资
FROM worker A,depart B,salary C
WHERE A.部门号=B.部门号 and A.职工号=C.职工号
GROUP BY B.部门名
--6、*显示所有平均工资高于1200的部门名和对应的平均工资。
SELECT B.部门名,avg(工资) 平均工资
FROM worker A,depart B,salary C
WHERE A.部门号=B.部门号 and A.职工号=C.职工号
GROUP BY B.部门名
HAVING avg(工资)>1200
--*7、查询刘欣所在的部门。
SELECT 部门名
FROM worker,depart
WHERE worker.部门号=depart.部门号 and 姓名='刘欣'
--*8、查询部门名为财务处的职工的情况。
SELECT worker.*
FROM worker,depart
WHERE worker.部门号=depart.部门号 and 部门名='财务处'
因篇幅问题不能全部显示,请点此查看更多更全内容