Mysql的查询

Mysql的查询,第1张

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

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

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

浏览器中打开链接:http://www.itsoku.com/article/196

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

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

运行最后一条结果如下:

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

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

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

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

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

运行结果:

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

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

需求说明 1、我需要查询某列不重复的数据 2、并且显示不重复数据的所有项 sql语句如下select * from data group by address 如果是仅仅查询某列不重复数据,只需要一列 效果如下 sql语句select DISTINCT address from data 这里有一个非常非常需要注意的地方:        SELECT DISTINCT [字段名]后面不能再跟其他的字段,否则检索出来的记录仍然会含有重复项;         错误写法:             SELECT DISTINCT [字段名] ,[其他字段名] FROM [表名] WHERE [检索条件字句]如果我们的记录集里还需要有其他字段值 ,那怎么办呢? 实际上,我们完全可以用另一种办法来解决问题只是需要用到子查询而已! 使用GROUP BY 分组 有一点需要注意: 使用带有GROUP BY字句的查询语句时,在SELECT列表指定的列要么是GROUP BY 指定的列,要么包含聚合组函数 所以用这样一句SQL就可以去掉重复项了: select * from msg group by terminal_id 这样就得到我们想要的结果集了:

查看mysql进程有两种方法

1.进入mysql/bin目录下输入mysqladmin processlist

2.启动mysql,输入show processlist

如果有SUPER权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程)。

mysql>show processlist


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7592317.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存