数据库逻辑删除的sql语句

Structured Query Language (SQL) is famously known as the romance language of data. Even thinking of extracting the single correct answer from terabytes of relational data seems a little overwhelming. So understanding the logical flow of query is very important.

小号 tructured查询语言(SQL)是著名的被称为数据的浪漫语言。 甚至想从TB的关系数据中提取单个正确答案似乎也有些不知所措。 因此,了解查询的逻辑流程非常重要。

查询执行计划 (Query Execution Plan)

SQL is a declarative language, this means SQL query logically describes the question to the SQL Query Optimizer which later decides on the best way to physically execute the query. This method of execution is called the query execution plan. There can be more than one execution plan, so when we say optimize a query that in turn referring to make the query execution plan more efficient.

SQL是一种声明性语言,这意味着SQL查询从逻辑上向SQL查询优化器描述了问题,SQL优化器随后决定了物理执行查询的最佳方法。 这种执行方法称为查询执行计划。 可以有多个执行计划,因此当我们说优化查询时,该查询反过来又使查询执行计划更有效。

Let’s look into the 2 flows that a SQL query can be looked through:

让我们看一下可以查询SQL查询的2个流程:

查询的句法流程 (Syntactical Flow of Query)

The SELECT statement basically tells the database what data to be retrieved along with which columns, rows, and tables to get the data from, and how to sort the data.

SELECT语句基本上告诉数据库要检索哪些数据以及从中获取数据的列,行和表,以及如何对数据进行排序。

Abbreviated Syntax for the SELECT command [1]
SELECT命令的缩写语法[1]
  • SELECT statement begins with a list of columns or expressions.

    SELECT语句以列或表达式列表开头。

  • FROM portion of the SELECT statement assembles all the data sources into a result set that is used by the rest of the SELECT statement.

    SELECT语句的FROM部分将所有数据源组合成一个结果集,供其余SELECT语句使用。

  • WHERE clause acts upon the record set assembled by the FROM clause to filter certain rows based upon conditions.

    WHERE子句作用于FROM子句组合的记录集,以根据条件过滤某些行。

  • GROUP BY clause can group the larger data set into smaller data sets based on the columns specified.

    GROUP BY子句可以根据指定的列将较大的数据集分组为较小的数据集。

  • HAVING clause can be used to restrict the result of aggregation by GROUP BY.

    HAVING子句可用于限制GROUP BY的聚合结果。

  • ORDER BY clause determines the sort order of the result set.

    ORDER BY子句确定结果集的排序顺序。

Simplest possible valid SQL statement is :

最简单的有效SQL语句是:

SELECT 1; (Oracle a requires FROM DUAL appended to accomplish this)

选择1; (Oracle要求附加FROM FROM DUAL来完成此操作)

Hmmm... What is the problem in the flow of “Syntactical Flow”? Can you SELECT data without knowing WHERE it is coming FROM ?? ...Hmmm .. Somewhere there is LOGIC missing right !!! Soo ..

嗯...“句法流”中的问题是什么? 您可以在不知道数据来自何处的情况下选择数据吗? ...嗯..某个地方缺少LOGIC吧!!! o ..

Smart on Smart在UnsplashUnsplash拍摄

查询的逻辑流程 (Logical Flow of Query)

The best way to think the SQL statement is through the query’s logical flow. Logical may not be the same as physical flow and also it is not the same as the query syntax. Think the query in the following order:

认为SQL语句的最佳方法是通过查询的逻辑流程。 逻辑可能与物理流程不同,也与查询语法不同。 按以下顺序考虑查询:

A simplified view of Logical flow [1]
逻辑流的简化视图[1]
  1. FROM: Logically query starts from the FROM clause by assembling the initial set of data.

    FROM :逻辑查询是通过组装初始数据集从FROM子句开始的。

  2. WHERE: Then where clause is applied to select only the rows that meet the criteria.

    WHERE :然后应用where子句以仅选择满足条件的行。

  3. Aggregations: Later aggregation is performed on the data such as finding the sum, grouping the data values in columns, and filtering the groups.

    聚合 :稍后对数据执行聚合,例如查找总和,将数据值分组到列中以及过滤组。

  4. Column Expressions: After the above operations the SELECT list is processed along with calculations of any expressions involved in it. (Except column expressions everything else is optional in SQL query.)

    列表达式 :完成上述操作后,将处理SELECT列表以及其中涉及的任何表达式的计算。 (除了列表达式,SQL查询中的其他所有内容都是可选的。)

  5. ORDER BY: After getting the final resulting rows are sorted ascending or descending by ORDER BY clause.

    ORDER BY :得到最终的结果行之后,按ORDER BY子句对行进行升序或降序排序。

  6. OVER: Windowing and ranking functions can later be applied to get a separately ordered view of the result with additional functions for aggregation.

    结束:以后可以使用开窗和排名功能来获取结果的单独排序视图,并带有用于聚合的其他功能。

  7. DISTINCT: This is applied to remove any duplicate rows present in result data.

    DISTINCT :用于删除结果数据中存在的所有重复行。

  8. TOP: After all this process of selecting data filtering it and performing all the calculations and ordering them, SQL can restrict the result to top few rows.

    顶部:在完成所有这些选择数据的过程之后,对数据进行过滤并执行所有计算并对它们进行排序,SQL可以将结果限制在前几行。

  9. INSERT, UPDATE, DELETE: This is the final logical step of the query to perform data modification using the resulting output.

    INSERT,UPDATE,DELETE:这是查询的最后逻辑步骤,用于使用结果输出执行数据修改。

  10. UNION: The output from the multiple queries can be stacked to using the UNION command.

    UNION :可以使用UNION命令将多个查询的输出堆叠在一起。

For all the data anlysts who are working on database or datawarehouse projects. It is very important to understand the logical flow and the basic logic behind it. In any data anlysis project, data collection would be first step (FROM) and removing unessecarry data (WHERE) and then ordering the data (ORDER BY) follows.

对于从事数据库或数据仓库项目的所有数据分析师。 了解逻辑流程及其背后的基本逻辑非常重要。 在任何数据分析项目中,数据收集都是第一步(FROM),然后删除未保密的数据(WHERE),然后对数据进行排序(ORDER BY)。

翻译自: https://medium.com/@manoj.bidadiraju/logical-flow-of-sql-query-sql-through-the-eye-of-database-e7d111c87516

数据库逻辑删除的sql语句


http://www.taodudu.cc/news/show-995299.html

相关文章:

  • 数据挖掘流程_数据流挖掘
  • 域嵌套太深_pyspark如何修改嵌套结构域
  • spark的流失计算模型_使用spark对sparkify的流失预测
  • Jupyter Notebook的15个技巧和窍门,可简化您的编码体验
  • bi数据分析师_BI工程师和数据分析师的5个格式塔原则
  • 因果推论第六章
  • 熊猫数据集_处理熊猫数据框中的列表值
  • 数据预处理 泰坦尼克号_了解泰坦尼克号数据集的数据预处理
  • vc6.0 绘制散点图_vc有关散点图的一切
  • 事件映射 消息映射_映射幻影收费站
  • 匿名内部类和匿名类_匿名schanonymous
  • ab实验置信度_为什么您的Ab测试需要置信区间
  • 支撑阻力指标_使用k表示聚类以创建支撑和阻力
  • 均线交易策略的回测 r_使用r创建交易策略并进行回测
  • 初创公司怎么做销售数据分析_初创公司与Faang公司的数据科学
  • 机器学习股票_使用概率机器学习来改善您的股票交易
  • r psm倾向性匹配_南瓜香料指标psm如何规划季节性广告
  • 使用机器学习预测天气_如何使用机器学习预测着陆
  • 数据多重共线性_多重共线性对您的数据科学项目的影响比您所知道的要多
  • 充分利用昂贵的分析
  • 如何识别媒体偏见_描述性语言理解,以识别文本中的潜在偏见
  • 数据不平衡处理_如何处理多类不平衡数据说不可以
  • 糖药病数据集分类_使用optuna和mlflow进行心脏病分类器调整
  • mongdb 群集_群集文档的文本摘要
  • gdal进行遥感影像读写_如何使用遥感影像进行矿物勘探
  • 推荐算法的先验算法的连接_数据挖掘专注于先验算法
  • 时间序列模式识别_空气质量传感器数据的时间序列模式识别
  • 数据科学学习心得_学习数据科学
  • 数据科学生命周期_数据科学项目生命周期第1部分
  • 条件概率分布_条件概率

数据库逻辑删除的sql语句_通过数据库的眼睛查询sql的逻辑流程相关推荐

  1. mysql 怎么查询慢sql语句_如何优化MySQL中查询慢的SQL语句啊?

    追问 恩恩我对sql稍微了解点 不知道怎么优化慢sql 可以指导一下嘛 谢谢啦 可以加下我qq吗 1501630150来自:求助得到的回答 mysql数据库有100万+数据,查询起来很慢了,如何优化 ...

  2. mysql更改密码的sql语句_修改mysql登录密码与sql语句介绍

    修改mysql登录密码: 在使用数据库服务器过程中可能会因为种种原因忘记了登录密码,或者需要使用别人的数据库服务器,别人却忘记了登录密码等等. 忘记密码有两种方式可以解决,一是通过sql语句修改登录密 ...

  3. oracle 执行带参数的sql语句_当用EXECUTE IMMEDIATE执行SQL语句中的参数个数也是动态的?用什么方法实现?...

    当用EXECUTE IMMEDIATE执行SQL语句中的参数个数也是动态的?用什么方法实现? 描述详细一点就是:在要执行的SQL语句中所用到(: parameter)这种参数的个数,因具体条件不同,而 ...

  4. java批量执行查询sql语句_详解MyBatis直接执行SQL查询及数据批量插入

    一.直接执行SQL查询: 1.mappers文件节选 ${paramSQL} 2.DAO类节选 public interface SomeDAO{ List getInstanceModel(@Par ...

  5. drop sql语句_用于从表中删除数据SQL Drop View语句

    drop sql语句 介绍 (Introduction) This guide covers the SQL statement for dropping (deleting) one or more ...

  6. mysql面试题sql语句_数据库MySQL经典面试题之SQL语句

    数据库MySQL经典面试题之SQL语句 1.需要数据库表1.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex ...

  7. 使用SQL语句创建基本数据库

    SQL语句代码:CREATE DATABASE 语句. CREATE DATABASE Epiphany ON (NAME = Epiphany,FILENAME = 'E:\SQL SERVER 2 ...

  8. db2 如何导出insert语句_实用技术:MYSQL特别实用的几种SQL语句送给大家,让你的SQL高大上...

    整理自公众号:[程序员闪充宝] 在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一 ...

  9. 执行多条SQL语句,执行数据库事务(可传入Sql参数)

    上篇博客,实例介绍了一个事务执行多条SQL语句函数(int ExecuteSqlTran(List<String> SQLStringList))点击打开链接,方便之余又发现了它的缺陷-- ...

最新文章

  1. 鸿蒙程序如何上传,鸿蒙应用程序流转的实现
  2. 新闻上的文本分类:机器学习大乱斗
  3. 神经网络的结构汇总——tflearn
  4. 循环神经网络基础介绍
  5. java InputStream的使用
  6. 推荐一个yaml文件转json文件的在线工具
  7. Mybatis中的核心配置文件SqlMapConfig.xml详细介绍
  8. 自定义类型: 结构体,枚举,联合
  9. mac上python3安装HTMLTestRunner
  10. android 相机和照片一起_Android相机开发(三): 实现拍照录像和查看
  11. 【机器学习】隐马尔可夫模型及其三个基本问题(二)观测序列概率计算算法及python实现
  12. Redis,唯快不破!
  13. Linux在Ubuntu下安装TFTP
  14. Linux C/C++内存映射
  15. 揭秘:名震天下的震网病毒(Stuxnet)是如何被发现的?
  16. Vmware虚拟机设置固定IP地址
  17. EXCEL长数字显示和转化为文本
  18. 零基础学习大数据难不难?小白如何上手大数据?
  19. 电视SMB方式连接电脑共享文件
  20. please insert the disc labeled ‘Ubuntu 18.04.5 LTS _Bionic Beaver_ - Release amd64 (20200806.1)‘ in

热门文章

  1. 上海大厂Java面试经历:初步理解类加载运行机制和类加载过程
  2. [Swift]LeetCode884. 两句话中的不常见单词 | Uncommon Words from Two Sentences
  3. WPF中MVVM模式的 Event 处理
  4. create-react-app项目使用假数据
  5. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---4
  6. 解决阿里云服务器磁盘报警
  7. Today is weekend不是应该一定会输出吗
  8. 第一阶段 XHTML.定位样式
  9. java操作mongodb(连接池)(转)
  10. 机器学习中规则化和模型选择知识