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

关于sql和MySQL的语句执行顺序(必看!!!)

请认真看完此文章,对你的sql一定会有很大的提升! ql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。...一、sql执行顺序 (1)from (3) join (2) on (4) where (5)group by(开始使用select中的别名,后面的语句中都可以使用) (6) avg,sum...SELECT语句执行顺序 SELECT语句中子句的执行顺序与SELECT语句中子句的输入顺序是不一样的,所以并不是从SELECT子句开始执行的,而是按照下面的顺序执行: 开始->FROM子句->WHERE...就跳过 对比了一下,mysql和sql执行顺序基本是一样的, 标准顺序的 SQL 语句为: select 考生姓名, max(总成绩) as max总成绩 from tb_Grade where...考生姓名 is not null group by 考生姓名 having max(总成绩) > 600 order by max总成绩 在上面的示例中 SQL 语句的执行顺序如下:

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

    SQL语句逻辑执行过程和相关语法详解

    1.1 SQL语句的逻辑处理顺序 SQL语句的逻辑处理顺序,指的是SQL语句按照一定的规则,一整条语句应该如何执行,每一个关键字、子句部分在什么时刻执行。 除了逻辑顺序,还有物理执行顺序。...物理顺序是SQL语句真正被执行时的顺序(执行计划),它是由各数据库系统的关系引擎中的语句分析器、优化器等等组件经过大量计算、分析决定的。...很多时候因为优化的关系,使得语句最终的物理执行顺序和逻辑顺序不同。按照逻辑顺序,有些应该先执行的过程,可能优化器会指定它后执行。...本文也在多处通过这两个模型来分析为什么标准SQL不允许某些语法,以及为什么MySQL可以支持这些"不标准"的语法。 1.2 各数据库系统的语句逻辑处理顺序 以SELECT语句为例。...因为DISTINCT的功能基本等价于GROUP BY,但GROUP BY却先执行。 1.12 总结 虽然SQL语句的逻辑处理过程和真正的执行计划在有些地方会有所不同。

    3.7K20

    关于sql和MySQL的语句执行顺序(必看!!!)

    今天遇到一个问题就是mysql中insert into 和update以及delete语句中能使用as别名吗?...目前还在查看,但是在查阅资料时发现了一些有益的知识,给大家分享一下,就是关于sql以及MySQL语句执行顺序: sql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。...一、sql执行顺序 from join on where group by(开始使用select中的别名,后面的语句中都可以使用) avg,sum…....,就跳过 对比了一下,mysql和sql执行顺序基本是一样的, 标准顺序的 SQL 语句为: select 考生姓名, max(总成绩) as max总成绩 from tb_Grade where...考生姓名 is not null group by 考生姓名 having max(总成绩) > 600 order by max总成绩 在上面的示例中 SQL 语句的执行顺序如下:

    1.5K30

    Oracle总结【视图、索引、事务、用户权限、批量操作】

    前言 在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了…那么本篇主要总结关于Oralce视图、序列、事务的一些内容… 在数据库中,我们可以把各种的SQL语句分为四大类… (1)...身份解锁hr普通帐户 alter user hr account unlock; 以sysdba身份设置hr普通帐户的密码 alter user hr identified by lion; 当scott...为你分配creare view的权限 以sysdba身份,授权scott用户create view权限 grant create view to scott; 以sysdba身份,撤销scott用户...身份授予scott普通用户create synonym权限 grant create synonym to scott; 以sys身份从scott普通用户撤销create synonym权限 revoke...即所有用户在数据库内的操作对象和可执行的动作都是受到限制的。

    2K41

    关于sql和MySQL的语句执行顺序(必看)「建议收藏」

    今天遇到一个问题就是mysql中insert into 和update以及delete语句中能使用as别名吗?...目前还在查看,但是在查阅资料时发现了一些有益的知识,给大家分享一下,就是关于sql以及MySQL语句执行顺序: sql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。...一、sql执行顺序 from on join where group by(开始使用select中的别名,后面的语句中都可以使用) avg,sum…....,就跳过 对比了一下,mysql和sql执行顺序基本是一样的, 标准顺序的 SQL 语句为: select 考生姓名, max(总成绩) as max总成绩 from tb_Grade where...考生姓名 is not null group by 考生姓名 having max(总成绩) > 600 order by max总成绩 在上面的示例中 SQL 语句的执行顺序如下:

    1.5K10

    MySQL原理简介—10.SQL语句和执行计划

    大纲1.什么是执行计划2.执行计划包含哪些内容3.SQL语句和执行计划的总结4.SQL语句使用多个二级索引5.多表关联的SQL语句如何执行6.全表扫描执行计划的成本计算方法7.索引的成本计算方法8.MySQL...它的查询优化器,都会针对这个SQL语句的语义去生成一个执行计划,这个执行计划会包含如何查各个表、用到哪些索引、如何做排序和分组,一般基于执行计划来进行SQL优化。...3.SQL语句和执行计划的总结(1)const、ref和range本质都是基于索引查询只要索引查出来的数据量不是特别大,一般性能都极为高效。...执行一个SQL语句的成本一般分成两部分:IO成本和CPU成本。(2)执行一个SQL语句的IO成本首先这些数据需要从磁盘里读出来,从磁盘读数据到内存就是IO成本。...(4)评估SQL语句执行成本的案例比如执行如下SQL语句:mysql> select * from t where x1=xx and x2=xx;步骤一:假设该表有两个索引分别是针对x1和x2建立的,

    10000

    Oracle 修改SYS、system用户密码

    SQL> show user USER 为 "SYSTEM" SQL> exit 注:SYS和SYSTEM用户之间可以相互修改口令 修改SYS用户口令后的登录 将SYS用户的口令修改成123456...后,可按以下几种方法登录: 法1.sqlplus / as sysdba 【以操作系统认证的方式登录,不需要用户名和口令】 法2.sqlplus sys/abcde as sysdba; 法3....as sysdba; 上述语句,都可以登录成功,然后查看当前用户: SQL> show user USER 为 "SYS" 这是为什么呢,为什么修改了口令没有效果,不用口令或者随便用什么口令都可以进入呢...操作系统认证方式 对于如果是Unix操作系统,只要是以DBA组中的用户登录的操作系统,就可以以SYSDBA的身份登录数据库,不会验证SYS的口令。...对于windows操作系统,在oracle数据库安装后,会自动在操作系统中安装一个名为ORA_DBA的用户组,只要是该组中的用户,即可以SYSDBA的身份登录数据库而不会验证SYS的口令。

    4.2K30

    oracle--用户区别sys和system

    1.数据库的启动需要以SYSDBA/SYSOPER身份登录。 2.如果在同一主机上使用IPC连接到数据库使用操作系统授权,登录任何一个用户都可以拥有as sysdba和as sysoper。...3.sys和system用户的区别 SYS用户具有DBA权限,并具有SYS模式。只能通过SYSDBA登录数据库,是Oracle数据库中权限最高的帐号。...sys用户具有“SYSDBA”和“SYSOPER”权限,登陆em时也只能用这两个身份,不能用normal。而system登录em时只能用normal模式登录。...SQL>show user USER 为"test" 5.dba和sysdba的区别: sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在...,以sysdba身份登陆,装载数据库、打开数据库。

    1.2K20

    Oracle 数据库管理员及管理员的作用

    Oracle数据库 2、建库、表空间、表、视图、索引等常用的数据对象 3、制定并实施备份与恢复计划 4、数据库权限管理,调优,故障排除 5、对于高级dba,要求能参与项目开发,会编写sql语句、存储过程...sys用户拥有dba、sysoper、sysdba角色或权限是Oracle中权限最高的用户,下面使用pl/sql develpoer进行登录演示: 以SYSOPER方式登录 ? ?...成功登录 以SYSDBA方式登录 ? ? 成功登录 以Normal方式登录 ? ?...根据提示说明:sys用户不能以narmal身份登录 system:用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息.下面使用pl/sql develpoer进行登录演示: 以Normal...成功登录 以SYSDBA方式登录 ? 权限不足 ? 以SYSOPER方式登录 ?  下图可以完整的描述sys和system的基本信息和区别: ? ?

    1.8K100

    Oracle 系统常用命令

    作用:当前用户使用sysdba的身份进行登录,所有当前用户就具有了所有的dba的权限,注:即使是新创建的用户如果使用此口令,也可以以dba的身份登录 1.4、disc                                      ...使用sysdba默认创建的用户没有任何的权限(包括登录到oracle数据库的权限),需要使用sys或者system用户给新创建的用户赋connect角色,新用户才会有登录oracle数据库的能力,如果不理解为什么...左图可以看出,xiaochao不具有创建表的权限,现在切换到sys用户给其赋予resource角色 ?...ok,表创建成功 4、关于文件的口令 4.1、start  外部文件的绝对路径   作用:这是一个文件操作命令,在命令行中执行外部的sql脚本 ?...4.3、spool  外部文件的绝对路径      执行语句产生的结果集      spool off; 作用:将执行语句产生的结果集输出到刚开始指定的外部文件中去 ?

    94750

    Oracle 数据库创建导入的方法

    继续使用在安装Oracle数据库服务器期间输入的密码以sys用户身份登录: C:\Users\Administrator>sqlplus SQL*Plus: Release 11.2.0.1.0 Production...请输入用户名: sys as sysdba 输入口令: 然后,使用以下CREATE USER语句创建一个新用户:ot,用于在可插入数据库中创建示例数据库: SQL> CREATE USER OT IDENTIFIED...当SQL Plus 提示输入用户名和密码时,输入:OT和Orcl1234。 对于Oracle 11g/12c,使用如下命令: SQL> CONNECT ot@orcl 输入口令: 已连接。...创建数据库表 要为示例数据库创建表,需要从SQL plus执行ot_schema.sql文件中的语句, 在SQL plus的文件中执行SQL语句,可以使用下面的命令(语法): SQL> @path_to_sql_file...假设ot_schema.sql 文件位于F:\website\oraok\ot目录中,则执行下面的语句 : SQL>@F:\website\oraok\ot\11g\ot_schema.sql 当执行语句完成后

    1.3K00

    Oracle中password file的作用及说明

    在数据库没有启动之前,数据库内建用户是无法通过数据库来验证身份的 口令文件中存放sysdba/sysoper用户的用户名及口令 允许用户通过口令文件验证,在数据库未启动之前登陆 从而启动数据库 如果没有口令文件...认证. 1.remote_login_passwordfile = NONE 此时停用口令文件验证,Oracle数据库不允许远程SYSDBA/SYSOPER身份登录 无法通过远程进行数据库起停等操作管理...> 这实际上就是无法通过口令文件验证身份 4.如果丢失了passwdfile 如果使用passwdfile却意外丢失,此时将不能启动数据库 SQL> startup force;ORACLE instance...-------------------- ----- -----SYS TRUE TRUE SQL> grant sysdba to eygle;grant sysdba to eygle*ERROR...USERNAME SYSDB SYSOP------------------------------ ----- -----SYS TRUE TRUE SQL> grant sysdba to eygle

    1.1K30
    领券