软件测试-Mysql数据库3

  1. group by 字段名; [多] 字段分组。
    例如
    select id,class,city from student
    group by class,city ;
    对该表的班级与家乡城市进行分组;

  2. having :对查询的结果进行过滤,可使用聚合函数。
    例如
    select id,class,city from student
    having id>10;
    对该表的学生 id 进行过滤( 注:过滤的字段必须在显示字段中出现);

  3. limit :分页。
    例如
    select id,class,city from student
    order by id
    limit n,m;
    从该表的第 n+1 条数据开始取,一共取m条数据。若 n 为0,则只需写 m。

  4. like :模糊查询。
    _:代替一个字符。
    %:代替任意字符。

    例如
    select * from student
    where name like ‘张_’;
    查询名字共两个字的张姓同学。

  5. distinct :过滤重复数据,必须写在显示字段的第一个。可与聚合函数配合使用。
    例如
    select distinct id ,name from student;
    过滤掉重复的 id。
    例如
    select count(distinct id) from student;
    查询不重复 id的个数。

  6. 内连接(查询两个表中的数据)
    例如

SELECT a.s_name,c.score
 FROM student AS a,  grade AS c
WHERE a.`s_id`=c.`s_id` ;

查询 表a 中的学生姓名所对应的表b 的学生成绩。
7. 子查询(嵌套查询)
例如
SELECT f.name
FROM (SELECT e.name FROM student
WHERE englishi >70) f
WHERE f.name LIKE “%周%”;
其中 括号里的数据是一张临时表,f:是这张临时表的别名。
查询该临时表中学生名字带 周 的同学。

 ***例如***
select * from student 
where  tid =(select tid from teacher where tname='小明');
其中 括号里的数据是 小明老师的 id.
查询 班主任是小明的所有学生。
  1. 1、<>ALL:等价于 NOT IN (不等于)。
    2、 >ALL :比子查询中最大的值还要大
    3、<ALL :比子查询中最小的值还要小
    特别说明:“= All”不存在
    例如

    select  * from student2
    where  age >ALL (select age from student1);
    查询表2中  比表1中老师年龄最老的还要老的老师信息。
    
  2. 1、= Any:与任何一个相等
    2、>Any : 比最低的高
    3、<Any : 比最高的低

    select  * from student2
    where  age >Any  (select age from student1);
    查询表2中  比表1中老师年龄最年轻的还要老的老师信息。
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值