zxpr.net
当前位置:首页 >> mysql多表查询语句面试 >>

mysql多表查询语句面试

一使用SELECT子句进行多表查询 SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件 SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE

select * from (两个表的名字) 应该是这样 SQL我也是初学者啊!呵呵 错了别说我啊!

select stuno,classno from 成绩表 where score>90 or score <60

select a.k1 a.n1 b.k1 b.n1 from k1 as a and k2 as b where k1.id = k2.id

你这两个表里没有相同的字段,那么如果两个表一起查询的时候出现的记录太多了,你也用不了.如果你想查,那么select * from a a,b b 就行了,但我觉得这应该不是你想要的,你最好把表结构改一下,在b表里加一字段,与a表能关联起来,比如id,select * from a a,b b where a.id=b.id

select * from A left join B on A.pos=B.pos and A.id=B.ownerid你可以试一下

select uf.uid,uf.tel,uf.address from userinfo uf where uf.uid in (select u.uid from user u where u.cityid=1 ) limit 0,10 order by uf.uid; 遍历一遍结果,就可以得到你想要的用户id的数据了

我先简单的看了看, 你这里的 a1 实际上是一个子查询 我需要咨询一下. 你那里的 a2 到 a6 是否也是 子查询.如果也是的话, 那估计效率是有点问题了.那么再进一步的确认一下.你的 a1 到 a6 的 子查询, 是否都查询一个 omdb.rt110celltrxrelatedoverviewcounters1 表.也就是 a1 到 a6 的查询里面, 有没有 查询相同表的.比如 a1 和 a2 查询的表一样. a3和a4的也一样. a5的和a6的一样.如果有这种情况的话, 那么还是有可能进行优化调整的.如果 a1 到 a6, 具体的表 彻底不同,那SQL上面,好像暂时就没什么办法了,只好尝试去创建一些索引了.

SELECT A.id,A.title,B.tags FROM news AS A INNER JOIN (SELECT GROUP_CONCAT(B.name) AS tags,newsid FROM tagsdata AS A INNER JOIN tags AS B ON A.tagsid = B.tid GROUP BY newsid) AS B ON A.id=B.newsid;

select p.name、s.shenfen_num、t.stu_num、d.driver_numfrom people p inner join shenfen s on p.shenfen_id=s.shenfen_idinner join driver d on d.driver_id=p.driver_idinner join stu t on t.stu_id=p.stu_id

5689.net | xyjl.net | beabigtree.com | 9371.net | mydy.net | 网站首页 | 网站地图
All rights reserved Powered by www.zxpr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com