数据库中按条件查找语句
在数据库DBTeaSystem教师基本信息表(表名为TBTeacher)结构如下(使用T-SQL创建数据库,数据表):
列名 |
说明 |
数据类型 |
约束 |
Tno |
编号 |
字符串,长度为10 |
主码 |
Tname |
姓名 |
字符串,长度为16 |
非空 |
Tsex |
性别 |
字符串,长度为2 |
|
Tage |
年龄 |
整数 |
|
Tdept |
所在部门 |
字符串,长度为32 |
|
若TB_Teacher表中已存在以下数据(直接可视化方式添加数据):
Tno |
Tname |
Tsex |
Tage |
Tdept |
C9512101 |
李勇 |
男 |
38 |
计算机系 |
C7612102 |
刘晨 |
男 |
58 |
计算机系 |
C9712103 |
王敏 |
女 |
36 |
计算机系 |
I9221101 |
张立 |
男 |
42 |
信管系 |
I9821102 |
吴宾 |
女 |
29 |
信管系 |
I0021103 |
张海 |
男 |
27 |
信管系 |
E7831101 |
钱小平 |
女 |
60 |
外语系 |
E9531102 |
王大力 |
男 |
39 |
外语系 |
E0431103 |
张立 |
男 |
25 |
外语系 |
写出下列SQL语句并给出结果:
代码:
create database TBTeacher
Use TBTeacher
create table TBTeacher
(
Tno char(10),
Tname varchar(16) not null,
Tsex char(2),
Tage int,
Tdept char(32)
);
- 查询所有教师记录:
Use TBTeacher
select *
from TBTeacher
2、查询所有年龄小于30的记录:
SELECT *
FROM TBTeacher
where Tage<30;
3、查询所有年龄小于30的信管系教师记录:
SELECT *
FROM TBTeacher
where Tage<30 and Tdept='信管系';
4、查询所有外语系教师的编号与姓名:
SELECT Tname
FROM TBTeacher
where Tdept='外语系';
5、查询所有年龄在30-40之间的教师记录:
select *
from TBTeacher
where Tage>30 and Tage<40;
6、查询外语系的男教师记录:
SELECT Tname
FROM TBTeacher
where Tsex='男' and Tdept='外语系';
7、查询教师信息表中姓‘张’、姓‘李’和姓‘刘’的教师记录:select *
select *
from TBTeacher
where Tname like'张%' or Tname like'李%' or Tname like'刘%';
8、查询名字中第2个字为‘小’或‘大’字的教师的姓名和编号:
Use TBTeacher
select *
from TBTeacher
where Tname like'_大_' or Tname like '_小_';
9、查询信管系姓‘张’的教师记录:
select *
from TBTeacher
where Tname like'张%';
10、查询信管系姓‘李’且年龄不大于40岁的教师记录:
select *
from TBTeacher
where Tname like'李%' and Tage<40;
11、查询计算机系所有年龄在40-80之间的教师姓名:
select *
from TBTeacher
where Tdept='计算机系' and Tage<80 and Tage>40;
12、查询外语系教师名字中倒数第2个字为‘小’或‘大’字的记录:
select *
from TBTeacher
where Tdept='外语系' and Tname LIKE'_大%' or Tname LIKE'_小%' ;
- 查询所有的教师记录,系别升序排列,年龄降序排列:
系别升序:
select *
from TBTeacher
order by Tdept asc;
年龄降序:
select *
from TBTeacher
order by Tage desc ;
14、查询所有女教师,年龄从大到小排序:
Use TBTeacher
select *
from TbTeacher
where Tsex='女'
order by Tage desc;
15、统计教师个数:
SELECT count(*) as '教师人数'
FROM TbTeacher
16、求信管系教师的平均年龄:
SELECT AVG(Tage)as '平均年龄' FROM TbTeacher where Tdept='信管系';
17、求计算机系年龄最大的男教师:
select MAX(Tage)as '最大年龄'
FROM TBTeacher
where Tsex='男';