美文网首页
查询语句

查询语句

作者: 魔芋辣椒 | 来源:发表于2020-08-05 11:22 被阅读0次

一、取别名

select xxx as “aaa”

取别名为aaa

二、去重

select DISTINCT xxx

三、多字段拼接为一个字段

select CONCAT('dname',',','id',IFNULL(pact,0)) AS output from xxx

NULL与任何字符拼接均为NULL,因此需要去NULL
其中,IFNULL为判断字段pact是否为空,若为空则为0

四、where子句

select * from employees 
where [not]  condition1 [and][or] condition2

五、模糊查询

%代表任意0-多个字符
_代表任意单个字符

  • like
    查询包含a的字段
select name from employees 
where lastname like '%a%'

like后面必须加单引号

  • between and
select ....
where money between 100 and 200;
  • in
select ...
where job_name in('IT','AR','PX' );

等同于job_name=IT or job_name=AR...

  • is null|is not null
    =无法判断NULL,因此使用这个

六、分组查询

image.png

大表拆分成小表,分别统计
统计该公司不同部门的人数大于2的平均工资

select count(*)....
where ...
group by department_id,job_id
having count(*)>2;

想对聚合函数结果进行约束,即使用having而非where

七、连接查询(多表查询)

select a,b from A ,B

A表10条,B表4条
若直接从AB两表查询,则获得为笛卡尔积40条数据

92语法

连接分为:
         内连接:
               等值
               非等值
               自连接
         外连接
               左
               右

内连接

等值
select a,b from A,B
where A.xx=B.xx
非等值

即为将上方等号替换为其他符号

99语法

内连接

/*select 查询列表
from 表1 别名
inner join 表2 别名
on 连接条件
where 筛选调教*/

//查询部门下拥有e名字的员工数大于三个的部门的部门名和员工数量
select name  from employees e
inner join departments d
on e.department_id=d.department_id
where e.name likes '%e%'
group by  department_id
having count(*)>3;


//三表连接
select name,department_name,job_title
from employees
inner join departments on xxxx
inner join job on xxx

外连接

左外,右外,LFET RIGHT OUTER JOIN

交叉连接(笛卡尔积)

CROSS JOIN

八、子查询

若子查询结果为单行单列用>=<等符号
若为多行单列,用IN,ALL,ANY

相关文章

  • 复习数据库MySQL语句(一)

    创建表语句 插入语句 多值插入语句 查询语句 查询条件语句 查询包含语句 范围查询语句 过滤查询 更新语句/修改语...

  • mysql第五天-子查询、分页查询、联合查询

    子查询 子查询介绍 含义:出现在其他语句(增删改查语句)中的select语句,称为子查询或内查询,外部的查询语句,...

  • 5. DQL语句和查询相关语句以及多表查询

    DQL语句和查询相关语句以及多表查询 一. DQL语句 数据查询语句DQL(Data Query Language...

  • MYSQL-子查询

    子查询是一个查询语句嵌套在另一个查询语句中。内层查询语句的结果,可以为外层查询语句提供查询条件。 子查询关键字:i...

  • SQL第3/n篇(持续更新中)子查询很重要

    进阶7 子查询 含义:子查询(内查询):出现在其他语句中的select语句主查询(外查询):外部的查询语句分类...

  • Java自学-JDBC 查询

    在JDBC中使用ResultSet查询SQL语句 执行查询SQL语句 步骤 1 : 查询语句 executeQue...

  • 子查询

    出现在select语句中的select语句,称为子查询或内查询 外部的select查询语句,称为主查询或外查询 子...

  • sql笔记 P87-101

    子查询 /* 含义:出现在其他语句中的select语句,称为子查询或内查询 外部的查询语句,称为主查询或外查询 分...

  • 子查询

    进阶7:子查询 /*含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询...

  • mysql子查询

    进阶7:子查询 /*含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询...

网友评论

      本文标题:查询语句

      本文链接:https://www.haomeiwen.com/subject/fvpvrktx.html