首页 / MYSQL / MYSQL---多表查询
MYSQL---多表查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MYSQL---多表查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1433字,纯文字阅读大概需要3分钟。
内容图文
![MYSQL---多表查询](/upload/InfoBanner/zyjiaocheng/866/c422b4a4e310466381ee19491c5d8564.jpg)
/*
1 子查询
2 内连接
4 右连接
5 全连接连接
3 左连接
6 交叉连接
7 自连接
*/
– 子查询效率没有连接查询高 ,能用连接查询的,就尽量不要用子查询
SELECT c_name FROM class WHERE c_id =(SELECT c_id FROM student WHERE s_name =‘张三2’);
– 连接查询
SELECT a.a_id
,a.a_name
,b.b_id
,b.b_name
FROM a,b WHERE a.a_id
=b.b_id
;
– 内连接
SELECT a.a_id
,a.a_name
,b.b_id
,b.b_name
FROM a JOIN b ON a.a_id
=b.b_id
WHERE b_name=‘aa’;
– 左连接
SELECT a.a_id
,a.a_name
,b.b_id
,b.b_name
FROM a LEFT JOIN b ON a.a_id
=b.b_id
– 右连接
SELECT a.a_id
,a.a_name
,b.b_id
,b.b_name
FROM a RIGHT JOIN b ON a.a_id
=b.b_id
;
– 全连接 mysql 不支持 ,但是可以用其他的方式来实现
– select a.a_id
,a.a_name
,b.b_id
,b.b_name
from a full join b on a.a_id
=b.b_id
;
SELECT a_id FROM a
UNION ALL
SELECT b_id FROM b;
– mysql中全连接
SELECT a.a_id
,a.a_name
,b.b_id
,b.b_name
FROM a LEFT JOIN b ON a.a_id
=b.b_id
UNION
SELECT a.a_id
,a.a_name
,b.b_id
,b.b_name
FROM a RIGHT JOIN b ON a.a_id
=b.b_id
;
– 交叉连接
select * from emp,dept where emp.d_id
= dept.d_id
and emp.e_name
=“张三”;;
– 自连接
– 电器下面的子分类
select * from category where p_id =
(select a_id from category where c_name=“电器”);
– 两张表以上联查
方式一
SELECT a.a_id
,a.a_name
,b.b_id
,b.b_name
,c…c_id FROM a,b,c WHERE a.a_id
=b.b_id
and b.b_id=c.c_id;
方式二
SELECT A.,B.,C.*
FROM A
inner join B on A.a_id=B.b_id
inner join C on B.b_id=C.c_id
where
group by
having
order by
limit
注意 a.id b_id c_id 一般是主外键的 关系。
内容总结
以上是互联网集市为您收集整理的MYSQL---多表查询全部内容,希望文章能够帮你解决MYSQL---多表查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。