复杂的内连接查询是在基本的内连接查询的基础上再附加一些查询条件,如:
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 FROMtb_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'
聊聊mysql的多列组合查询本文主要展示如何使用mysql的多列组合查询
多列组合查询平常比较少见,初次看还觉得挺神奇的 。
?mysql-filtering-by-multiple-columns[1]
?selecting-where-two-columns-are-in-a-set[2]
[1]mysql-filtering-by-multiple-columns
[2]selecting-where-two-columns-are-in-a-set
mysql怎么组合查询的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于mysql 查询结果合并、mysql怎么组合查询的信息别忘了在本站进行查找喔 。
推荐阅读
- 灯饰直播间运营,灯饰直播间运营怎么做
- A股ChatGPT相关标的,a股标的是什么意思
- 在家上网课看什么电视,在家上网课看什么电视最好
- 抖音火山游戏直播如何设置,抖音火山版怎么直播王者荣耀游戏
- c语言数组加长函数 c语言数组想加
- 固态盘和机械硬盘怎么区分,固态和机械硬盘怎么分别
- 故事会网站制作,故事会网络版
- hbase可视化客户端sql,hbase可视化web页面
- vb.net数组用法 vb60数组定义