词条信息

admin
admin
超级管理员
词条创建者 发短消息   

相关词条

天天广告联盟
 广告位置招商  广告招商

热门词条

更多>>
ps利用通道精确抠出背景
通道抠图之前,我们需要了解一下通道的知识。RGB模式下,我们看[详细]
人民日报:守护个人数据使用的边界
你去过的酒店好友都能看到!这不是玩笑,而是真实案例。近日,有媒[详细]
摩拜实施全国免押金
  2018年07月05日,“摩拜单车宣布全国范围内无门槛免押[详细]
偷拍软件是如何植入进电脑的呢?
近日了解到一则新闻:19岁的大连女孩肖婷在外地读大学,其在女生[详细]
摩拜宣布百城无门槛免押金
  是否免押金正成为共享单车竞争的新方向。继哈罗单车之后,摩拜[详细]
解决网 >>所属分类 >> 程序开发    MySQL   

MySQL多表查询

标签: MySQL 多表查询

顶[0] 发表评论(0) 编辑词条





目录

[显示全部]

十多表联合查询编辑本段回目录

利用SQL语句中的UNION,可以将不同表中符合条件的数据信息显示在同一列中。

e.x:SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fasten

注:使用UNION时应注意以下两点:

(1)在使用UNION运算符组合的语句中,所有选择列表的表达式数目必须相同,如列名、算术表达式及聚合函数等

(2)在每个查询表中,对应列的数据结构必须一样。





十一对联合后的结果进行排序编辑本段回目录

为了UNION的运算兼容,要求所有SELECT语句都不能有ORDER BY语句,但有一种情况例外,那就是在最后一个SELECT语句中放置ORDER BY 子句实现结果的最终排序输出。

e.x:SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fasten ORDER BY id

使用UNION条件上相对比较苛刻,所以使用此语句时一定要注意两个表项数目和字段类型是否相同


十二条件联合语句编辑本段回目录

SELECT * FROM tb_demo076_BEIJING GROUP BY name HAVING name='人民邮电出版社' OR name='机械工业出版社' UNION SELECT * FROM tb_demo076_BEIJING GROUP BY name HAVING name <>'人民邮电出版社' AND name <>'机械工业再版社' ORDER BY id

上面语句应用了GROUP BY分组语句和HAVING语句实现条件联合查询。其实现目的是先保证将'人民邮电出版社'和'机械工业出版社'始终位于名单最前列,然后再输出其它的出版社





十三简单内连接查询编辑本段回目录

SELECT filedlist FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column1

其中,filedlist是要显示的字段,INNER表示表之间的连接方式为内连接,table1.column1=table2.column1用于指明两表间的连接条件,如:

SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id





十四复杂内连接查询编辑本段回目录

复杂的内连接查询是在基本的内连接查询的基础上再附加一些查询条件,如:

SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id WHERE b.id=(SELECT id FROM  tb_demo065 WHERE tb_demo065.name='$_POST[text]')

总之,实现表与表之间的关联的本质是两表之间存在共同的数据项或者相同的数据项,通过WHERE 子句或内连接INNER JOIN … ON 语句将两表连接起来,实现查询





十五使用外连接实现多表联合查询编辑本段回目录

(1)LEFT OUTER JOIN表示表之间通过左连接方式相互连接,也可简写成LEFT JOIN,它是以左侧的表为基准故称左连接,左侧表中所有信息将被全部输出,而右侧表信息则只会输出符合条件的信息,对不符合条件的信息则返回NULL

e.x:SELECT a.name,a.address,b.math,b.english FROM tb_demo065 AS A LEFT OUTER JOIN tb_demo065_tel AS b ON a.id=b.id

(2)RIGHT OUTER JOIN表示表之间通过右连接方式相互连接,也可简写成RIGHT JOIN,它是以右侧的表为基准故称右连接,右侧表中所有信息将被全部输出,而左侧表信息则只会输出符合条件的信息,对不符合条件的信息则返回NULL

E.X:SELECT a.name,a.address,b.math,b.english FROM tb_demo065 AS A RIGHT OUTER JOIN tb_demo065_tel AS b ON a.id=b.id





十六利用IN或NOTIN关键字限定范围编辑本段回目录

e.x:SELECT * FROM tb_demo083 WHERE code IN(SELECT code FROM tb_demo083 WHERE code BETWEEN '$_POST[text1]' AND '$_POST[text2]')

利用IN可指定在范围内查询,若要求在某范围外查询可以用NOT IN代替它




十七由IN引入的关联子查询编辑本段回目录

e.x:SELECT * FROM tb_demo083 WHERE code IN(SELECT code FROM tb_demo083 WHERE code = '$_POST[text]')





十八利用HAVING语句过滤分组数据编辑本段回目录

HAVING子句用于指定组或聚合的搜索条件,HAVING通常与GROUP BY 语句一起使用,如果SQL语句中不含GROUP BY子句,则HAVING的行为与WHERE子句一样.

e.x:SELECT name,math FROM tb_demo083 GROUP BY id HAVING math > '95'

select f1 from tab1 t1 inner join tab2 t2 on (t1.size = t2.size and t2.age > 10) where t2.name like "wu%" group by f1 having count(f1) > 100 order by f1 desc/asc;

 

 

本文地址:解决网 http://www.solves.com.cn/doc-view-4941.html

TAGS:SOLVES , 电脑技术 , 电脑知识 , 网站建设, 电脑技术, 网络营销 , 网站托管 , 硬件技术 , 网络技术 , 软件技术, 维修网点

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇大数据涉及的知识点
下一篇朴素贝叶斯原理

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的电脑技术问题词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>