mysql高阶语句

文章介绍了MySQL中的子查询概念,它允许在查询中嵌套另一查询,用于数据过滤。EXISTS关键字用来判断子查询结果是否为空。视图作为数据库中的虚拟表,提供了一种简化复杂查询和提高性能的方式。创建多表视图能进一步提升数据操作效率。文章总结了子查询在SELECT,INSERT,UPDATE,DELETE语句中的应用,并展示了如何利用视图解决高并发问题。
摘要由CSDN通过智能技术生成

目录

1 子查询

2 exists用来判断子查询的结果是否为空

 3 mysql的视图

4 创建多张表的视图

5总结


1 子查询

子查询也被称作内查询或者嵌套查询,是指在一个查询语句里面还嵌套着另一个查询语 句。子查询语句是先于主查询语句被执行的,其结果作为外层的条件返回给主查询进行下一 步的查询过滤。
子语句可以与主语句所查询的表相同,也可以是不同表

多表查询

 

 两张表关联查询关键是关联词id

 子查询不仅可以在select语句中使用,在inert ,update ,delete中同样适用在查询时可以多层嵌套.

 

 

2 exists用来判断子查询的结果是否为空

 将查询的结果作为一张表查询时就需要用到别名了

 3 mysql的视图

数据库中的虚拟表,虚拟表不包含真实数据,只是做了真实数据的映射

视图可以理解为镜花水月 可以解决高并发的问题

 

4 创建多张表的视图


5总结

子查询把主表和从表用in或者not in来连接起来把从表查询的数值通过相同的字段传输给主表

select name,score from info where id in (select id from info where score >80);

也可以用update select delete insert

 select name,score from info where id in (select id from info where score>80);

insert into t1 select * from info where id in (select id from info);

update info set score=50 where id in (select * from ky30 where id=2);

delete from info where id in (select id where score>80);

EXISTS 这个关键字在子查询时,主要用于判断子查询的结果集是否为空。

select count(*) from info where exists(select id from info where score=80);

视图就是解决高并发是一个镜花水月

视图的创建

 create view v_info(id,name,score,age) as select info.id,info.name,info.score,test01.age from info,test01 where info.name=test01.name;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值