2022年05月08日报告

本文介绍了MySQL中的数据库约束,如非空约束、唯一约束和主键约束,特别是主键自增长特性和如何通过`TRUNCATE`清除表。接着讲解了多表查询的概念,以解决通过老师编号获取老师名字的问题,并展示了左外连接的使用。此外,还探讨了子查询的应用,如查找最高工资员工及比销售员工资高的人。最后,举例说明了如何根据员工姓名查找相同职位的员工。
摘要由CSDN通过智能技术生成

2022年05月07日讲到了 mysql 单表查询 同志们

1. 数据库约束

① 非空约束

加了非空约束, 表里的数据就不能为 null了

② 唯一约束

加了唯一约束, 表里的数据就不可以重复了

 

③ 主键约束

加了主键约束, 表里的值既不能为 null,也不能重复

主键自增长

如果有一个列光是数字, 只用来标识每一行数据

可以给它加一个自增长, 让它自己往上加

 但是------------------

如果你使用 delete from product 清空表

然后再添加数据

你会发现 id 是从原来基础上继续加的

比如说把1 2 删掉了, 再添加的就是3 4 5 6 .........

使用 truncate from product 截断表 (也是清除)

就可以重新计数了

 2.多表查询

假如 我们有一个学生表, 里面写着同学们的姓名 班级 学号 之类的信息

还有一个老师编号, 但老师的信息我们放在另一个表里了

我们希望通过老师编号拿到老师的名字 怎么办呢?

就要用到多表查询

查询语句:

但如果这样写 要是一个学生没有老师编号, 那这个学生是不会显示的

要让它显示出来可以这样写: 

左外链接就是 表中不满足条件的数据也会被显示出来

假如我们有个员工表, 里面有员工姓名 员工编号 上级领导编号 工资之类的信息

现在我们要拿到所有员工及其上级的姓名

我们可以这样写

# 看员工及其上级
select e1.ename, e2.ename
from emp e1
         left outer join emp e2
                         on e1.mgr = e2.empno;

 

3.子查询

还是刚才那个员工表

现在我们要拿到工资最高的员工的名字

可以这样写:

# 查看工资最高的员工姓名
select *
from emp
where sale = (select max(sale) from emp);

现在我们要找到所有工资比任意一个销售员工资都高的人

# 找出所有工资比任意一个销售员工资都高的人
select ename,job,sale
from emp
where sale> any (select sale
    from emp
    where job='销售员');

 

找到所有和艾本职位相同的人 

# 找到所有工作与艾本相同的人
select *
from emp
where deptno=(select deptno
    from emp
    where ename='艾本');

THE END凸(`0´)凸 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒂法挤挤挤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值