首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

select 进阶查询

1.1 分组查询 1.1.1 语法 # where 和 having 可以省略 SELECT col_name, group_function, ··· FROM tb_name [WHERE where_condition...② where 是在分组前对记录进行筛选,而 having 是在分组结束后的结果里筛选,最后返回最终查询结果。  ...说明 max( ) 查询指定列的最大值 min( ) 查询指定列的最小值 count( ) 统计查询结果的行数 sum( ) 求和,返回指定列的总和 avg( ) 求平均值,返回指定列数据的平均值...1.4.1 语法 # 可以省略某些查询,但是顺序不能改变 select * from tb_name where where_condition group by group_expression having...400 的数据中 number 大于 3 的数据并按 name 分组,按照每组数据条数倒序,从 0 号数据开始查询 3 条数据 mysql> select *, count(*) from mydata

1.2K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    select 查询基础

    1.1 基础查询 1.1.1 查询所有列 ☞ 语法 # " * " 代表返回表中所有字段的数据 select * from tb_name; ☞ 示例 mysql> select * from student...1.1.2 查询指定字段 ☞ 语法 # tb_name 表中需要查询的字段 select field_1, field_2 from tb_name; ☞ 示例 mysql> select name,...☞ 语法 # 用中文名代替字段名,其中 as 可以省略 select col_name [as] chinese_name from tb_name; ☞ 示例 mysql> select num as...1.2 条件查询 1.2.1 语法 # 条件查询 select * from 表名 where 条件; ☞ 注意   关键字 where 后面跟上一个或者多个条件,条件是对前面数据的过滤,只有满足 where...或者 IS NOT NULL,其他查询运算符对 NULL 值无效  ② 建议创建表的时候,尽量设置表的字段不能为空,给字段设置一个默认值。

    77831

    select 高级查询之连接查询

    1.1.2 数据准备 mysql> select * from dept; +---------+-----------+ | dept_id | dept_name | +---------+----...* from tb_name_1, tb_name_2, ···; # 第二种方式 select * from tb_name_1 join tb_name_2 join ···; 1.1.4... ② 第二种是先获取连接的结果,然后使用 where 中的条件再对连接结果进行过滤  ③ 内连接查询的数据不包含连接条件字段为 null 的数据 1.2.2 示例 mysql> select *...| +---------+-----------+--------+----------+ 3 rows in set (0.05 sec) 1.3 外连接   外连接涉及到 2 个表,主表和从表,要查询的信息主要来自于哪个表...外连接查询结果为主表中所有记录。如果从表中有和它匹配的,则显示匹配的值,这部分相当于内连接查询出来的结果;如果从表中没有和它匹配的,则显示null。

    85710

    select 进阶查询语句

    普通的 select…from 很明显不能满足我们的更细化的查询需求,它除了基本语法外,还可以拓展使用一些判断语法和过滤、分组语法。本文介绍一些 select 的进阶查询语法。...(+) = d.deptno group by d.deptno, d.dname 自连接 将一张表通过别名的方式视为多张表来查询 select e.ename ‘的老板是’ b.ename from...1; 子查询查询其实就是嵌套 select 语句查询,嵌套的 select 要用小括号括起来,子查询可以写在 select 后面,也可以写在 from 后面,也可以写在 where 后面,但是写在不同的位置都有不同的规则...null值 单行子查询案例: select * from emp where sal > (select sal from emp where ename = ‘SCOTT’); 多行子查询案例: 查询部门名称为...= emp.deptno and emp.sal > s.avgsal 方法2,使用相关子查询 select empno, ename, sal, ( select avg(sal) from emp

    20120

    mysql中select子查(select中的select查询)询探索

    到这里对于select查询的执行顺序更迷惑了,不知道DEPENDENT SUBQUERY到底时怎么执行的,到底有没有生产临时表,但是可以明确这种子查询的效率不如join好 注意事项 在select查询中...子查询可能的使用场景 带统计的查询 查询部门名称,地点,和部门人数 mysql> select dname,loc,(select count(empno) from emp e where e.deptno...,主查询只需要一行,例如查询部门名称,所在地,和部门中id最大的一个人的名称 mysql> select d.dname,(select e.ename from emp e where e.deptno...子查询,之所以想到探索select查询,是因为公司里面不少这种写法,当初第一感觉挺新奇,是不是这种效率更好?...于是就有了select查询探索之旅,后续继续在完善select查询的执行流程,也不知道是我误导了ChatGPT还是他迷糊了我,总觉得他是墙头草,说的不靠谱

    8400

    JAVA中SQL查询语句大全,select多表查询,各种查询

    select * from emp; – 查询emp表中的所有员工的姓名、薪资、奖金 select name,sal,bonus from emp; – 查询emp表中的所有部门, 剔除重复的记录,...4、avg() – 求所查询记录中指定列的平均值 – 查询emp表中最高薪资 select max(sal) as 最高薪资 from emp; – 查询emp表中最高总薪资 select max(...多表连接查询 连接查询:将两张或者两张以上的表,按照指定条件查询,将结果显示在一张表中。 多张表查询的语法: select... from A, B... where......子查询 所谓的子查询,其实就是将一个查询得出的结果,作为另外一个查询的条件。 格式: select... from... where......– 查询出’大数据部’的最高薪资 select max(sal) from emp where dept_id=30; – 关联查询, 查询员工的姓名,薪资, 部门名称 select e.name, e.sal

    2.2K30

    sql数据库嵌套查询_select嵌套查询

    嵌套查询是将一个select 查询放到另一个查询的where 子句中去 如:查询”xx“同学的所修课程及分数 1.先选择姓名为”xx”的同学的学号 select 学号 from 学生 where 姓名...学号 from 学生 where 姓名=”xx”); 带有in的子查询 查询与”xxx”在同一个系学习的学生的学生姓名及其院系名称 分步骤: 1.先查询 xxx 所在的系 select 院系编号 from...合并1,2 select 姓名,院系名称 from 学生,院系 where 所属院系=院系编号 and 所属院系 in (select 所属院系 from 学生 where 姓名=”xxx”) 查询选修课程名为...”xx”的学生学号和姓名 1,先从课程表中查询课程名为”xx”的课程编号 as: select 课程编号 from 课程表 where 课程名=”xx” 2.从成绩表中查询学生学号,通过1中的课程编号...as: select 学生学号 from 成绩 where 课程编号 in(1) 3.从学生表中查询学生学号,姓名通过2中的学号 最后合并为 select 学生学号,姓名 from 学生表 where

    3.8K30

    MYSQL基本操作-select 查询语句

    目录 MYSQL基本操作-select 查询语句 MYSQL基本操作-select 查询语句 针对数据表里面的每条记录,select查询语句叫做数据查询语言(DQL) select的语法格式 SELECT...查询表的所有字段 select * from book; 通配符,代表查询所有字段 使用 * 时,只能按照数据表中字段的顺序进行排列,不能自定义字段排序 建议:不知道所需查询的列名称时,才用 *...,否则获取不需要的列数据会降低查询和所使用应用程序的效率 查询表的部分字段 select bookid, bookname from book; 可以指定表的所有字段,然后更改字段顺序, 这种查询所有字段的写法比较灵活...,才会被查询出来 between and 关键字 is null 关键字 in、exist 关键字 like 关键字 单一条件的查询栗子 一般单一条件查询用的就是比较运算符 select * from...= 1; select * from book where borrowsum > 8; select * from book where borrowsum >= 10; 多条件的查询栗子 多条件的查询都需要使用逻辑运算符

    2.8K20

    mysql学习笔记(六)select查询子句与子查询

    查询分为3类: where型 select 展示列名 from 表名 where 列名 运算符(select 对应列名 from ....); 这个列名和对应列名应该做到类型相同 如果不加入运算符,也可以使用...;比子查询的值都大 select 展示列名 from 表名 where 列名 >ANY(select 对应列名 from ....)...;比子查询的任意一个值大 from型 select 展示列们 from 表名 inner join (select 列名 from ...)...临时表名 on 条件; 其中,select的子查询所得的表为临时表,后跟临时表名,可在条件判断中指代。...exist型 select 展示列 from 表名 where exists (select 列名 from 表名 where 条件); 将主查询的结果带入子查询进行条件判断和匹配,如果查询出结果即保留

    1.2K00

    MYSQL基本操作-select 查询语句【续】

    查询 查看图书类别表中有图书的类别id和类别名称 常见错误写法 正确写法 ---- 前言 内容:MYSQL基本操作-select 查询语句【续】 聚合函数 最大值(max) select max(bookprice...,通过子查询可以实现多表查询查询是指:将一个查询语句嵌套在另一个查询语句中 子查询可以在select、update、delete语句中使用,还可以进行多层嵌套 WHERE from where select from as where select from ...where 常见错误写法 select * from (select * from emp); 这样写是会报错的,因为没有给子查询指定别名 正确写法 select * from (select...(最外层的查询)的select 语句中出现的字段 子查询的结果集通常会作为其外层查询的数据源或用于条件判断

    1.8K40
    领券