mysql 表查询语句

mysql 表查询语句-每日运维

mysql中查询语句的表名,是否可以动态选

像这种纯sql是无法完成这种功能的,你可以写一个函数,像其他编程语言一样,把这两个表名当做参数进行传入,


Mysql的查询

出现在select语句中的select语句,称为子查询或内查询。

外部的select查询语句,称为主查询或外查询。

测试数据比较多,放在我的个人博客上了。

浏览器中打开链接:

mysql中执行里面的 javacode2018_employees库 部分的脚本。

成功创建 javacode2018_employees 库及5张表,如下:

运行最后一条结果如下:

in,any,some,all分别是子查询的关键词之一。

in :in常用于where表达式中,其作用是查询某个范围内的数据

any和some一样 : 可以与=、>、>=、<、<=、>结合起来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的任何一个数据。

all :可以与=、>、>=、<、<=、>结合使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的其中的所有数据。

下文中会经常用到这些关键字。

运行结果:

not in的情况下,子查询中列的值为NULL的时候,外查询的结果为空。

建议:建表是,列不允许为空。


MySQL查询语句

SELECT a.DemandNO,IFNULL(countb,0)+IFNULL(countc,0) as 结果 from tb_dm_demand a LEFT JOIN
(SELECT DemandNO,COUNT(1) as countb from tb_dm_deduction GROUP BY DemandNO) b
ON a.DemandNO=b.DemandNO LEFT JOIN
(SELECT DemandNO,COUNT(1) as countc from tb_im_interview GROUP BY DemandNO) c
ON a.DemandNO=c.DemandNO ORDER BY DemandNO