‘壹’ sql 查询教师表中各个职称的男女教师有多少人
select 职称,sum(case when sex='男' then 1 else 0 end) as 男教师数,sum(case when sex='女' then 1 else 0 end) as 女教师数 from 教师表
group by 职称
‘贰’ 写出SQL语句:查询少数民族的具体讲师职称的男性教师的姓名、性别、民族、职称、学历、工资。
select 姓名,性别,民族,职称,学历,工资 from 教师表
where 性别= '男'
and 职称 = '讲师'
and 民族 <> '汉'
order by 工资 desc
你那个字打错了吧?是具有讲师职称?
‘叁’ 使用SQL语句查询"教师表"中工资大于等于4500的教师的全部信息,将查询结果按职工号升序排列,查询结果存储
select * from 教师表
where 工资>= 4500
order by 职工号
‘肆’ 用SQL语句创建一个“教师”表,包括教师编号,姓名,性别,学历,职称,工作时间,年龄,工龄
create table 教师
(
编号 char(10) primary key,
姓名 char(8) not null,
性别 bit,
学历 char(8),
职称 char(8),
工作时间 datetime,
年龄 int,
工龄 int
)
‘伍’ 写出以下的SQL语句,谢谢啦。【access数据库的应用】
1.
select姓名,性别,职称,基础工资+岗位工资+绩效工资AS工资总额from教师
2.
select姓名,性别,部门名称,担任职务,职称from教师innerjoin部门on教师.部门编号=部门.部门编号
3.
select*from教师orderby基础工资
4.
select*from教师innerjoin部门on教师.部门编号=部门.部门编号where业余爱好like'*运动*'
5.
select*from部门where办公室电话='(0571-86018845)'
‘陆’ SQL语句 求助
--创建教师信息表
create table 教师信息(
教师编号 int,
教师姓名 varchar(50),
性别 char(2),
年龄 int,
学历 varchar(20),
职称 varchar(30)
毕业院校 varchar(50),
健康状况 varchar(20)
);
--学生信息表
create table 学生信息(
学号 int,
姓名 varchar(50),
所属院系 varchar(20),
已选课情况 vharchar(50)
);
--教室信息表
create table 教室信息(
可容纳人数 int,
空闲时间 datetime
);
--选课信息表
create table 选课信息(
课程编号 int,
课程名称 varchar(50),
任课教师 varchar(20),
选课的学生情况 varchar(50)
);
--成绩信息
create table 成绩信息(
课程编号 int,
课程名称 varchar(50),
学分 int,
成绩 int
);
-----------------------------
1.select * from 教师信息
where 职称='讲师' and 出生时间>'1970-01-01'
2.select * from 教室信息
where 空闲时间='周五' and 可容纳人数>'200'
3.select sum(学分) from 成绩信息 a,选课信息 b,学生信息 c
where a.已选课情况=b.选课的学生情况 and b.课程编号=a.课程编号
4.select count(*) from 学生信息 a,选课信息 b
where a.已选课情况=b.选课的学生情况 and 课程名称='数据库' and 所属院系='计算机系'
‘柒’ 1.删除年龄超过或等于55岁的教师。 2.按职称排序。 3.利用分类汇总功能统计每种职称的人数。
1.删除年龄超过或等于55岁的教师。
选中内容->数据->筛选-> 自定义->选择年龄大于或等于55 确定->删除
2.按职称排序。
选中内容->数据->排序->以职称为主要关键字->确定
3.利用分类汇总功能统计每种职称的人数。
选中内容->数据->分类汇总->以职称为分类字段,汇总方式为计数,汇总项为姓名确定
‘捌’ 按职称统计所有男教师的最高、最低,平均工资SQL
SQL是Structure Query Language的英文简写,意思是结构化查询语言。SQL是在数据库系统中应用广泛的数据库查询语言,它包含了数据定义、查询、操纵和控制4种功能。SQL语言的功能强大,使用方便灵活,语言简单易学。
在Access中,创建和修改查询最便利的方法是使用查询设计视图。但是,在创建查询时并不是所有的查询都可以在系统提供的查询设计视图中进行,有些查询只能通过SQL语句来实现。例如,查询“学生成绩表”中总分最高的前3名学生的情况,此查询只能用SQL语句实现。
常用的SQL查询语句包括Select、Insert、Update、Delete、Create、Drop等。其中最常使用的是Select语句,它是SQL语言的核心语句,Select语句的基本结构是Select…From…Where。Select语句的语法格式如下:
Select [谓词] <;字段列表>|<;目标表达式>|<;函数> [As 别名]
From 表名
[Where 条件…]
[Group By 字段名]
[Having 分组的条件]
[Order By 字段名[Asc|Desc]];
其中方括号[ ]中的内容为可选项,尖括号<>中的内容为必选项。
Select语句各个部分的含义如下:
(1)谓词:经常使用的是All、Distinct和Top,可用谓词来限制返回的记录数量。如果没有指定谓词,则默认值为All。Top n可以列出最前面的n条记录。Distinct可以去掉查询结果中指定字段的重复值,只显示不重复的值。
(2)字段列表:当为多个字段时,各字段之间用“,”分隔。可以使用“*”代表从特定的表中指定全部字段;如果字段在不同的表中使用相同的字段名,则显示的字段名前要加上表名,以说明来自于哪张表。
(3)函数:进行查询计算的合计函数。
(4)别名:用来作为列标题,以代替表中原有的列名。
(5)From:指出要获取的数据来自于哪些表。如果从多个表中读取数据,要写出每个表的表名,表名之间用“,”分隔。
(6)Where:指明查询的条件。Where是可选的,如果不写表示选择全部记录,在使用时必须接在From之后。
(7)Group By:将查询结果按指定的列进行分组。
(8)Having:用来指定分组的条件,Having子句是可选的,如果有Having则必须放在Group By子句后面。
(9)Order By:按照递增或递减顺序在指定字段中对查询的结果记录进行排序。其中,Asc 代表递增,Desc代表递减,默认为递增。
Access没有提供直接进入SQL视图的方法,如果要进入SQL视图,需要先进入查询设计视图。具体方法如下:
(1)在数据库窗口中,单击“查询”对象。
(2)双击“在设计视图中创建查询”选项,关闭弹出的“显示表”对话框。
(3)单击工具栏中SQL视图按钮,在弹出的编辑框中输入SQL语句。
此外,用户还可以通过打开某个已经创建的查询的设计视图,选择视图按钮右边的向下
1
的箭头,然后选择“SQL视图”选项,在“SQL视图”中编辑、查看SQL语句或对SQL语句进行简单的修改。
4.6.2 创建SQL查询
SQL查询是用户使用SQL语句直接创建的一种查询。实际上,Access的所有查询都可以认为是一个SQL查询,因为Access查询就是以SQL语句为基础来实现查询功能的。如果用户比较熟悉SQL语句,那么使用它创建查询、修改查询的条件将比较方便。
1.基于单一数据源的查询
【例4.26】显示“学生信息表”中的所有“班级名称”。
【分析】从理论上说,数据表都有主键,它们的记录不应该重复,但当只输出部分字段时,某些字段的值可能是重复的。此查询需要使用Distinct消除重复的记录。
操作步骤:
(1)在“SQL视图”中输入以下语句,如图4.75所示。
图4.1添加Distinct前的“SQL视图”图4.2添加Distinct前的结果(2)单击工具栏上的运行按钮,查看运行结果如图4.76所示。其中每个班级均有重复,不能恰当地描述“班级”名称。
(3)在查询语句中添加Distinct(如图4.77所示),消除重复的记录。查询结果如图4.78所示,查询结果中已经去掉了重复的记录。
(4)单击工具栏中的保存按钮保存查询。
图
‘玖’ SQL语句中 从教师表中查询职称人数大于2的职称及具体人数
一步步实现:
1. 所有老师和他们的职称
select 职称, 教师名字或编号 from 教师表
2. 所有职称和它们的具体人数
select 职称, count(教师名字或编号) as '人数' from 教师表 group by 职称
3. 2+只保留人数大于2的
select 职称, count(教师名字或编号) as '人数' from 教师表 group by 职称 having '人数'>2
对having不熟的话(其实我也不熟),可以用这个代替:
select * from
(select 职称, count(教师名字或编号) as '人数' from 教师表 group by 职称)
where '人数' > 2
‘拾’ 用SQL语言查询英语系的所有老师的姓名,职称等
大概的查询语句是这样的,根据你的实际情况修改一下字段名称。
select 姓名,职称 from 老师表 where 系 = '英语'