mysql如何实现跨数据库查询并按where子

mysql如何实现跨数据库查询并按where子,第1张

1、where型子查询

(把内层查询结果当作外层查询的比较条件)

#不用order by 来查询最新的商品

select goods_id,goods_name from goods where goods_id = (select max(goods_id) from goods)

#取出每个栏目下最新的产品(goods_id唯一)

select cat_id,goods_id,goods_name from goods where goods_id in(select max(goods_id) from goods group by cat_id)

2、from型子查询

(把内层的查询结果供外层再次查询)

#用子查询查出挂科两门及以上的同学的平均成绩

思路:

#先查出哪些同学挂科两门以上

select name,count(*) as gk from stu where score <60 having gk >=2

#以上查询结果,我们只要名字就可以了,所以再取一次名字

select name from (select name,count(*) as gk from stu having gk >=2) as t

#找出这些同学了,那么再计算他们的平均分

select name,avg(score) from stu where name in (select name from (select name,count(*) as gk from stu having gk >=2) as t) group by name

3、exists型子查询

(把外层查询结果拿到内层,看内层的查询是否成立)

#查询哪些栏目下有商品,栏目表category,商品表goods

select cat_id,cat_name from category where exists(select * from goods where goods.cat_id = category.cat_id)

1、需要当前用户对两个库具备相应的访问和 *** 作权限

2、通过数据库名.表名的方式进行join

SELECT

*

FROM

db1.t1 a

INNER JOIN db2.t2 b ON a.id = b.id

WHERE

a.Id = 1

3、建议改为es方式进行数据处理,想学java欢迎关注。

1、打开php的编辑器sublime,新建一个文件,写上注释内容。

2、新建一个函数chaxun。

3、连接数据库,填写数据库的用户名,密码,主机名以及要使用的数据库。

4、填写查询的sql语句。select * from test1。

5、读取查询到的数据,我们这里用到的函数是fetch_assoc来实现。

6、调用这个函数。

7、打开本地的服务器,输入网址进行访问测试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10088015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存