首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    sql查询

    连接查询 注意 from字句后面的表名,可以用表原名,也可以为它起别名,一旦有了别名,整个查询语句中凡是涉及用表名的地方都要用表原名 查询语句中出现的所有列,若在所有涉及的表中是唯一的,则列明前可以不加表明前缀...中写连接条件 显示内连接用inner join 内连接又叫自然连接,会去掉重复列的等值连接 select 目标列列表 from 表1 inner join 表2 on 表1.连接列=表2.连接列 where 查询条件...隐式内连接 where写连接列,and后跟条件 隐式内连接用’=’ select 目标列列表 from 表1,表2 where 表1.连接字段=表2.连接字段 and 其它查询条件 外连接 左外连接...以左边的表为基础,根据ON后面给出的两表的条件将两表连接起来 结果会将左表所有查询信息列出,右表只会列出ON后条件和左表满足的部分 语句left join… on select a.device_id,...全称量词命题和存在量词命题 嵌套查询 嵌套查询的工作方式 先处理内查询,由内向外处理 外层查询利用内层查询的结果 select tag,count(tag) as tag_cnt from exam_record

    2.2K10

    SQL复杂查询

    参考资料: 《SQL基础教程》 ? 复杂查询 视图 视图和表 从SQL的角度来看,视图就是一张表,两者的区别在于是否保存了实际的数据。...当然,我们还可以以视图为基础再创建视图,因此,使用视图的查询通常需要执行2条以上的SELECT语句。但是,多重视图会降低SQL的性能,因此希望大家使用单一视图。...标准SQL中规定:如果定义视图的SELECT语句能够满足某些条件,那么这个视图就可以被更新。...注意:子查询的层数原则上没有限制,可以无限嵌套下去,但是,随着层数增加,SQL语句会变得越来越难读懂,性能也会越来越差。因此,尽量避免使用多层嵌套的子查询。...我们可能会想到以下错误的SQL语句: -- 在WHERE子句中不能使用聚合函数 SELECT product_id, product_name, sale_price FROM

    4.3K30

    SQL基础查询

    参考资料: 《SQL基础教程》 ? 基础查询 数据准备 在查询数据之前,需要往数据库里插入需要用到的数据。...SQL顺序 书写顺序:SELECT ——> FROM ——> WHERE 执行顺序:FROM ——> WHERE ——> SELECT 注释 注释是SQL语句中用来标识说明或注意事项的部分,注释对SQL...逻辑运算符 逻辑运算符 含义 NOT 不是~ AND 并且,在其两侧的查询条件都成立时,整个查询条件才成立 OR 或者,在其两侧的查询条件有一个成立时,整个查询条件都成立 查询条件中使用NOT SELECT...上面的SQL的查询条件和以下SQL的查询条件是等价的: SELECT product_name, product_type, sale_price FROM Product WHERE...SQL之外的语言基本上只有真假两种真值,只有SQL中有第三种值——不确定(UNKNOWN)。 当对NULL进行逻辑运算时,其结果是不确定(UNKNOWN),这就是不能对NULL值使用不等式的原因。

    3.4K20

    sql查询语句

    查询表结构 desc 表名; 查询所有记录 select * from 表名; 查询指定记录 select name,age,birthday from 表名; 查询某些字段不同记录(去重) select...distinct name,birthday from 表名; 字段运算查询 select sal*12,age from 表名; 使用列的别名 select sal*12 as "年工资" , age...from 表名; 注意:as可以省略 如何处理null值 select sal*12+nvl(jiang,0) as "年工资",age from 表名; nvl函数:如果jiang为空时取0 模糊查询...按照等值的条件查询多个数据表中关联的数据,要求关联的多个数据表的某些字段具有相同的属性,即具有相同的数据类型、宽度和取值范围 select a.uname,a.age,b.uanme,b.age ,b.sal...sal from b 4.交操作的嵌套查询(属于a且属于b) select sal from a intersect select sal from b 5.差操作的嵌套查询(属于a且不属于b) select

    4.3K30

    SQL 复杂查询

    SQL 复杂查询指的就是子查询。 为什么子查询叫做复杂查询呢?因为子查询相当于查询嵌套查询,因为嵌套导致复杂度几乎可以被无限放大(无限嵌套),因此叫复杂查询。...要注意的是,对每一行父查询,子查询都会执行一次,因此性能不高(当然 SQL 会对相同参数的子查询结果做缓存)。 那这个关联是什么呢?关联的是每一行父查询时,对子查询执行的条件。...SQL 第一公民是集合,所以所谓父子查询就是父子集合的灵活组合,这些集合可以出现在几乎任何位置,根据集合的数量、是否聚合、关联条件,就派生出了标量查询、关联子查询。...更深入的了解就需要大量实战案例了,但万变不离其宗,掌握了复杂查询后,就可以理解大部分 SQL 案例了。...讨论地址是:精读《SQL 复杂查询》· Issue #403 · ascoders/weekly 版权声明:自由转载-非商用-非衍生-保持署名(创意共享 3.0 许可证)

    2.7K30

    SQL 聚合查询

    SQL 为什么要支持聚合查询呢? 这看上去是个幼稚的问题,但我们还是一步步思考一下。...数据以行为粒度存储,最简单的 SQL 语句是 select * from test,拿到的是整个二维表明细,但仅做到这一点远远不够,出于以下两个目的,需要 SQL 提供聚合函数: 明细数据没有统计意义,...另外聚合本身也有一定逻辑复杂度,而 SQL 提供了聚合函数与分组聚合能力,可以方便快速的统计出有业务价值的聚合数据,这奠定了 SQL 语言的分析价值,因此大部分分析软件直接采用 SQL 作为直接面向用户的表达式...总结 聚合函数 + 分组可以实现大部分简单 SQL 需求,在写 SQL 表达式时,需要思考这样的表达式是如何计算的,比如 MAX(c1), c2 是合理的,而 SUM(c1), c2 这个 c2 就是无意义的...讨论地址是:精读《SQL 聚合查询》· Issue #401 · ascoders/weekly 版权声明:自由转载-非商用-非衍生-保持署名(创意共享 3.0 许可证)

    3.5K31

    SQL 慢查询

    表设计合理,尽量避免出现多表联合查询。 慢查询处理 合理设计表,可以减少慢查询的出现,但是并不能完全避免。本文将慢查询可分为一般慢查询、深度分页慢查询和数据量大导致的慢查询。...一般慢查询 当出现一般慢查询时,可以按照以下步骤去进行 SQL 调优: 避免全表扫描。这⾥需要注意⼀些索引设计和使⽤的问题: 使⽤复合索引,避免出现多个单列索引。...通过这种⽅式,可以减⼩单表的数据量,提⾼查询和操作的性能。水平分表一般可以按照以下几种策略进行: 按范围分表:将数据根据某个字段的值划分为多个范围,每个范围对应⼀个分表,⽐如按⽤户ID范围分表。...但是如果当数据增⻓或变化超过预期时,可能需要频繁调整分表范围,同时可能出现数据倾斜问题,如果某些范围的数据过多,仍然可能导致单表过⼤。...因此不适⽤于需要在分表间跨表查询或合并表的场景,因为不同表的⾃增 ID 可能会重复。 UUID 优点:⽆需依赖数据库,可以在应⽤层⽣成,适合分布式环境。确保全球范围内的唯⼀性,不会发⽣冲突。

    1.9K10

    左右SQL执行计划妙招 ①——子查询的应用范围

    OK,让我们开始吧,先看看总体学习思路,如下图所示: 关键词 执行计划 HINT 子查询  SQL   1 控制执行计划的方法综述 1.1 控制执行计划的意义 前面已经讲过了,这里简单总结为两点:  可以临时在高峰期解决问题...2.1 HINT的思路(子查询应用范围) 简单的SQL语句只有一个单独的查询块。...当使用视图或类似子查询、内联视图、集合操作符等结构时,就会出现多个查询块(比如这个例子的查询就有两个查询块,第一个是引用了dept表的主查询,第二个是引用了emp表的子查询)。...DEPTNO")   4 - filter("EMPNO"=7369 OR "EMPNO"=7499 OR "EMPNO"=7782) (3)用qb_name定义方式 有的时候SQL不写子查询的别名,... 面对没有别名的子查询时,第三种方法是唯一选择 在实际应用中,应根据SQL结构特点和优化需求,灵活选择合适的HINT应用方法。

    35300
    领券