Navicat入门代码,跟着代码学,毕竟工作需要,为了生活,要尝试学习新的技能,或许哪一天你也就是运维大神了!
SELECT <目标列名表> FROM <数据源表> [WHERE <查询条件>] [GROUP BY <分组列>] [HAVING <组选择条件>] [ORDER BY <排序列>]
例1:查询操作流水表中的所有单据。
Select * from T_OPER_LOG
例2:查询操作流水表中所有的单据号,
并在输出时命名为“LOG单据”。
Select `task_id` as LOG单据
From T_OPER_LOG
例3:查询操作流水表中所有的单据号,
重复的单据号不显示。
Select distinct`task_id`
From T_OPER_LOG
例1:查询所有的被催办单据。 Select * from T_OPER_LOG Where `oper_type`=‘1600’ 例2:查询所有的被催或转组办单据。 Select * from T_OPER_LOG Where `oper_type` in (‘1600’,’220’) Select * from T_OPER_LOG Where `oper_type` = ‘1600’ or `oper_type` = ‘220’ or表示任意满足一个条件,and表示必须同时满足条件
例3:查询姓张的同事操作过的所有单据。 Select * from T_OPER_LOG Where operator like‘%zhang’ 通配符%代表任意长度的字符串 例4:查询姓张,且英文名长度为7位字母的同事操作过的所有单据。 Select * from T_OPER_LOG Where operator like‘__zhang’ 通配符_代表任意长度的字符串
例5:查询djzhang或姓雷的同事在3月2日以前操作过的单据号,命名为单据号并去重。 Select distinct `task_id` as 单据号 from T_OPER_LOG Where (operator =‘djzhang’ or operator like‘%lei’) And `oper_time`<‘2014-03-02 00:00:00’
ORDER BY <列名> [ASC | DESC ] [ ,… n ]
ASC表示按列值升序方式排序,DESC表示按列值降序方式排序。
如果没有指定排序方式,则默认的排序方式为升序排序。
在ORDER BY子句中,可以指定多个用逗号分隔的列名。这些列
出现的顺序决定了查询结果排序的顺序。
例6:查询操作流水表中的所有催办单据,先按操作人排升序,再
按照操作时间排降序。
Select * from T_OPER_LOG
Where `oper_type`=‘1600’
Order by `operator` asc,`oper_time` desc
GROUP BY <分组列> [ ,… n ] 有时我们需要把FROM、WHERE子句产生的表按某种原则分成 若干组,然后再对每个组进行统计,一组形成一行,最后把所有 这些行组成一个表,称为组表。 分组原则是<分组列>的列值相同,就为同一组。 GROUP BY语句通常出现在查询结果有统计函数的情况下。
例7:查询3月1日所有人员催办次数。 Select `operator` as 催办人,count(*) as 催办次数 From `T_OPER_LOG` Where `oper_type`='1600' And `oper_time` like '2014-03-01%' Group by `operator`
HAVING <组选择条件> HAVING子句指定GROUP BY生成的组表的选择条件,在 GROUP BY子句之后,并且必须与GROUP BY子句一起使用。 例8:查询3月1日催办次数大于等于3的人员当天催办次数。 Select `operator` as 催办人,count(*) as 催办次数 From `T_OPER_LOG` Where `oper_type`='1600' And `oper_time` like '2014-03-01%' Group by `operator` Having count(*)>=3
例1:查询3月1日被催办过的单据用户QQ号码。 通过JOIN语句关联两张表中的字段,将两张表捆绑在一起。 几种不同的JOIN语句 JOIN: 如果表中有至少一个匹配,则返回行 LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
例1:查询3月1日被催办过的单据用户QQ号码。 Select distinct t1.`userid` as 用户QQ号码 From `SAM_CASE201403`.`T_TASK_BASE` as t1 Left join `SAM_CASE201403`.`T_OPER_LOG ` as t2 On t2.`task_id`=t1.`task_id` Where t2.`oper_type`=‘1600’ And t2.`oper_time` like ‘2014-03-01%’
例2:查询3月有升级错误的一线员工名。 Select distinct t1.`create_user` as 一线员工名 From `SAM_CASE201403`.`T_TASK_BASE` as t1 Left join `SAM_CASE201403`.`T_OPER_LOG ` as t2 On t2.`task_id`=t1.`task_id` Where t2.`oper_type`=‘220’ And t1.`intro` like ‘%升级错误%’ And t1.`create_time` like ‘2014-03%’
例2:查询3月1日有升级错误的一线员工名。
Select distinct t1.`create_user` as 一线员工名
From `SAM_CASE201403`.`T_TASK_BASE` as t1
Where t1.`intro` like ‘%升级错误%’
And t1.`create_time` like ‘2014-03-01%’
And t1.`task_id` in (select `task_id`
from `T_OPER_LOG`
where `oper_type`=‘220’)
未经允许不得转载:运维大虾 » Navicat入门代码,学会让你玩转SQL成为运维大师


nginx修改server header-自定义版本号
nginx进阶–密码验证(含爆破封禁)+动态白名单 (干货)
六步去除WinRAR广告
RockyLinux/gnome桌面空白处理
记一次处理centos账号无法登陆的问题
OpenResty 1.24 支持国密SM2 SM3 SM4(兼容 证签、沃通国密证书)