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

MySQL数据库基础查询语句笔记

重复,指的是结果集中每一列都完全一样。如果存在任何一列不一样,都不算重复。因此,重复不是只看一个列,而是要看一所有列。...只不过视频中数据同时选择jobename时,没有jobename都相同,所以看起来像是没有做去重,像是“去重失效了”,实际上并没有失效,只是确实没有重复而已。...WHERE 条件 [AND | OR] 条件 ...; #假设每个条件都需要满足,每个条件之间添加AND。...假设这些条件只需要满足一个,每个条件之间添加OR SELECT DISTINCT empno,ename,sal FROM t_emp WHERE deptno=10 AND sal >= 2000;...IN 运算符允许你确定一个指定一组匹配任何或 子查询 。

3.2K50

【MySQL 系列】MySQL 语句篇_DQL 语句

2.1.2、关键字 DISTINCT 关键词 DISTINCT 用于返回唯一不同。SELECT DISTINCT 表示查询结果中,去掉了重复。...左连接以左表数据行为基础,根据连接匹配右表每一,如果匹配成功则将左表右表组合成新数据返回;如果匹配不成功则将左表 NULL 组合成新数据返回。...AND , OR NOT 逻辑运算符一个或多个表达式组合;④ 除了用在 SELECT 语句之外, WHERE 子句还可以用在 UPDATE DELETE 语句中,用来指定要更新或删除。...2.3.5、运算符 BETWEEN BETWEEN 运算符确定一个是否介于某两个之间。BETWEEN 运算符常用于比较数字日期类型数据。...⑤ 使用 FIELD() 函数或者 CASE 子句可按照自定义序列排序;⑥ 升序排序时, NULL 非 NULL 之前;降序排序时,NULL 非 NULL 之后。

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

MySQL 系列教程之(七)DQL:从 select 开始丨【绽放吧!数据库】

只要返回相同数目的,就是正常 检索多个列 select id,name,age,sex from user 选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不加。...检索不同 DISTINCT select distinct classid from user DISTINCT关键字,顾名思义,此关键字指示MySQL只返回不同 DISTINCT关键字应用于所有列而不仅是前置它列...(跳过前3,4) 替代语法 LIMIT 4 OFFSET 3意为从3开始4,就像LIMIT 3, 4一样。...指定两个之间 IS NULL 空 组合WHERE子句 MySQL允许给出多个WHERE子句。...这使我们能够对行进行计数,计算与平均数,获得最大和最小而不用检索所有数据 目前为止所有计算都是所有数据或匹配特定WHERE子句数据上进行

3.6K43

SQL Server优化之SQL语句优化

OUTER(join):如果指定了 OUTER JOIN保留表(preserved table)中未找到行将作为外部添加到vt2,生成t3,如果from包含两个以上表,则对上一个联结生成结果表下一个表重复执行步骤步骤直接结束...GROUP BY:按GROUP BY子句列列表对vt4中分组生成vt5 6. CUBE|ROLLUP:把超组(supergroups)插入vt6,生成vt6 7....DISTINCT:将重复从vt8中去除产生vt9 10. ORDER BY:将vt9按order by子句列列表排序生成一个游标vc10 11....(1) INNER JOIN (2) LEFT JOIN (注:RIGHT JOIN 用 LEFT JOIN 替代) (3) CROSS JOIN 其它注意和了解地方有: A、IN后面值列表中,将出现最频繁放在最前面...B、注意UNIONUNION ALL区别。– 允许重复数据用UNION ALL好 C、注意使用DISTINCT没有必要时不要用。 D、TRUNCATE TABLE 与 DELETE 区别。

3.5K34

SQL养成这8个好习惯是一笔财富

OUTER JOIN保留表(preserved table)中未找到行将作为外部添加到vt2 生成t3如果from包含两个以上表则对上一个联结生成结果表下一个表重复执行步骤步骤直接结束 4....WHERE:对vt3应用 WHERE 筛选器只有使 为true才被插入vt4 5.GROUP BY:按GROUP BY子句列列表对vt4中分组生成vt5...8.SELECT:处理select列表产生vt8 9.DISTINCT:将重复从vt8中去除产生vt9 10.ORDER BY:将vt9按order by子句列列表排序生成一个游标vc10...五、注意临时表表变量用法 复杂系统中,临时表表变量很难避免,关于临时表表变量用法,需要注意: A、如果语句很复杂,连接太多,可以考虑用临时表表变量分步完成。...1)INNER JOIN (2)LEFT JOIN (注:RIGHT JOIN 用 LEFT JOIN 替代) (3)CROSS JOIN 其它注意和了解地方有: A、IN后面值列表中,将出现最频繁放在最前面

11010

sql学习

SQL SELECT DISTINCT语句 关键词DISTINCT用于返回唯一不同 语法:SELECT DISTINCT 列名称 FORM 表名称 SQL WHERE子句 where子句同于规定选择标准...,如果需要有条件从表中选取数据,可将where子句添加到select语句中 语法:SELECT 列名称 FROM 表名称 WHERE 列 运算符 可在where子句中使用运算符: 操作符 描述...SQL AND & OR 运算符 ANDor用于基于一个以上条件对记录进行过滤 一个WHERE子句中将两个或多个条件结合起来。 也可以将ANDOR使用圆括号结合起来组成复杂表达式。...charlist] 不在字符列中任何单一字符 SQL IN操作符 IN操作符允许我们WHERE子句中规定多个。.../时间 SQL SERVER Date函数 函数 描述 GETDATE() 返回当前日期时间 DATEPART() 返回日期或之间单独部分 DATEADD() 日期中添加或减去指定时间间隔 DATEDIFF

4.6K30

这些留存分析计算方式,你知道吗(6)

一、互联网企业面临留存问题 1. 流量红利见顶、新成本高 极易同质化今天,流量竞争着实激烈,提高用户留存重要性不言而喻,且存量用户获客成本远远低于新成本。 2....留存分析是一种用于衡量一个固定用户群体(如某日或某月新注册用户)一段时间内活跃情况数据分析方法。它能帮助公司了解用户使用产品或服务过程中行为模式忠诚度。...三、以实际case案例分享如何实现留存分析: 该查询使用了DATEDIFF()函数来计算注册日期事件日期之间天数差异,然后筛选出两个日期相差一天用户。...WHERE DATEDIFF(day, registration_date, event_date) >= 1; 四、次日留存3种实现方式对比 方案一:使用子查询 -- 计算成本:高。...子查询每一数据上都会执行一次,导致查询效率降低。

12810

SQL Server常用Sql语句

例如:select 学号,姓名,年龄=datediff(YY,出生时间,getdate()) 过滤重复字段: 例如:select distinct 专业 from 表名 返回前面若干条记录: Select...25.条件查询语句 Select 字段列表 Into 新表名 from 表名列表  where 查询条件 注释:新表是不存在,新表是基于查询结果, ---使用该语句必须在目的数据据中必须具...26.应用WHERE子句定义搜索条件 Select 列名1,列名2...  From 表名 where 条件表达式 查询条件中常用 运算符 运算符 用途 =,,>,>=,<,<=,!...年龄=datediff(YEAR,出生时间,getdate()) from 数据表 Where datediff(YEAR,生出时间,getdate())<20 and 性别=’女’ * 查找属性...(或不在)指定范围内元组: 例 :select 姓名,性别,年龄=datediff(YEAR,出生时间,getdate()) from 数据表 Where datediff(YEAR,生出时间,getdate

5.2K44

SQL好写法

为真的才被插入vt2     3.OUTER(join):如果指定了 OUTER JOIN保留表(preserved table)中未找到行将作为外部添加到vt2 生成t3如果from包含两个以上表则对上一个联结生成结果表下一个表重复执行步骤步骤直接结束...    4.WHERE:对vt3应用 WHERE 筛选器只有使 为true才被插入vt4     5.GROUP BY:按GROUP BY子句列列表对vt4...> 为true组才插入vt7     8.SELECT:处理select列表产生vt8     9.DISTINCT:将重复从vt8中去除产生vt9     10.ORDER BY:将vt9按...WHERE子句,不要写没有WHERESQL语句。   ...: INNER JOIN LEFT JOIN (注:RIGHT JOIN 用 LEFT JOIN 替代) CROSS JOIN    其它注意和了解地方有:   A、IN后面值列表中,将出现最频繁放在最前面

91920

8个能提升工作效率SQL好习惯

保留表(preserved table)中未找到行将作为外部添加到vt2 生成t3如果from包含两个以上表则对上一个联结生成结果表下一个表重复执行步骤步骤直接结束 4.WHERE:对vt3...应用 WHERE 筛选器只有使 为true才被插入vt4 5.GROUP BY:按GROUP BY子句列列表对vt4中分组生成vt5 6.CUBE|ROLLUP...select列表产生vt8 9.DISTINCT:将重复从vt8中去除产生vt9 10.ORDER BY:将vt9按order by子句列列表排序生成一个游标vc10 11.TOP:从vc10...注意临时表表变量用法 复杂系统中,临时表表变量很难避免,关于临时表表变量用法,需要注意: A、如果语句很复杂,连接太多,可以考虑用临时表表变量分步完成。...,将出现最频繁放在最前面,出现得最少放在最后面,减少判断次数 B、注意UNIONUNION ALL区别。

22320

理解SQL原理SQL调优你必须知道10条铁律

:如果指定了 OUTER JOIN保留表(preserved table)中未找到行将作为外部添加到vt2 生成t3如果from包含两个以上表则对上一个联结生成结果表下一个表重复执行步骤步骤直接结束...WHERE:对vt3应用 WHERE 筛选器只有使 为true才被插入vt4 GROUP BY:按GROUP BY子句列列表对vt4中分组生成vt5...SELECT:处理select列表产生vt8 DISTINCT:将重复从vt8中去除产生vt9 ORDER BY:将vt9按order by子句列列表排序生成一个游标vc10 TOP...注意临时表表变量用法 复杂系统中,临时表表变量很难避免,关于临时表表变量用法,需要注意: 如果语句很复杂,连接太多,可以考虑用临时表表变量分步完成。...JOIN LEFT JOIN (注:RIGHT JOIN 用 LEFT JOIN 替代) CROSS JOIN 其它注意和了解地方有: IN后面值列表中,将出现最频繁放在最前面,出现得最少放在最后面

1.3K50

SQL养成这8个好习惯是一笔财富

标准 SQL 解析顺序为: (1)FROM 子句 组装来自不同数据源数据 (2)WHERE 子句 基于指定条件对记录进行筛选 (3)GROUP BY 子句 将数据划分为多个分组 (4)使用聚合函数进行计算...才被插入vt4 5、GROUP BY:按GROUP BY子句列列表对vt4中分组生成vt5 6、CUBE|ROLLUP:把超组(supergroups)插入vt6 生成vt6 7、HAVING...:对vt6应用HAVING筛选器只有使 为true组才插入vt7 8、SELECT:处理select列表产生vt8 9、DISTINCT:将重复从vt8中去除产生...vt9 10、ORDER BY:将vt9按order by子句列列表排序生成一个游标vc10 11、TOP:从vc10开始处选择指定数量或比例生成vt11 并返回调用者 看到这里,那么用过...,将出现最频繁放在最前面,出现得最少放在最后面,减少判断次数 B、注意UNIONUNION ALL区别。

74310

MySQL(二)数据检索过滤

语句由子句构成,有些子句是必需,有些是可选;一个子句通常由一个关键字所提供数据组成 1、排序单个列 order by子句一个或多个列名字,据此对输出进行排序(order by位于from子句之后...) is null子句就是用来检查表中具有null列(在过滤数据选择出不具有特定行时,一定要验证返回数据中确实给出了被过滤列具有null) 四、使用操作符过滤数据 操作符(operator)...>= N然后计算column1 =X) where可包含任意数目的andor操作符;允许两者结合以进行复杂高级过滤(需要说明是:and计算次序中优先级高于or) 如果希望andor之间计算次序不被错误组合...,可将or操作符所对应子句使用圆括号()括起来,以明确分组相应操作符 圆括号具有较and或or更高计算次序,DBMS首先过滤圆括号内条件 PS:任何时候使用具有andor操作符where子句...column=XYcolumn2(in操作符用来指定匹配清单关键字,功能or相当) 圆括号where子句中还有另一种用法,in操作符用来指定条件范围,范围中每个条件都可以进行匹配;in

4K30

MYSQL必知必会笔记

每个列都有相应数据类型,用来定义列可以存储数据种类 表中数据是按存储,所保存每个记录存储自己行内 主键(primary key)一列(或一组列),其能够唯一区分表中每一...= 不等于 < 小于 <= 小于等于 > 大于 >= 大于等于 between 指定两个之间 检查单个 不匹配检查 范围检查 空检查 AND 操作符 OR 操作符 IN...LIKE与REGEXP之间有一个重要差别 进行OR匹配(|) 匹配几个字符之一可通过指定一组用[]括起来字符来完成(eg:WHERE prod_name REGEXP '[123] Ton'...、SubString()返回子串字符、 日期时间处理函数:AddDate()、AddTime()、CurDate()、CurTime()、Date()、DateDiff()、Date_Add()...DISTINCT 10、分组数据 数据分组 GROUP BY () 过滤分组HAVING子句 WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤 11、使用子查询 SELECT

98320

T-SQL进阶:超越基础 Level 2:编写子查询

此外,子查询甚至可以FROM子句或关键字EXISTS中使用时返回多个列。 子查询容易Transact-SQL语句中发现,因为它将是括号中SELECT语句。...子条款示例 为了演示HAVING子句中使用子查询,假设您具有以下业务要求: 生成包含Sales.SalesOrderHeader.OrderDate每个日期订单数量结果集,其中订单数量超过“2006...函数调用中使用子查询示例 要演示函数调用中使用子查询,假设您需要显示OrderDate每个Sales.SalesOrderHeader记录最大OrderDate之间天数。...接下来几个例子将使用返回多个/或多个列子查询。 FROM子句子查询示例 FROM子句中,通常会标识您Transact-SQL语句将对其执行表或表集合。...然后IN关键字中使用从子查询返回这些ProductID来约束从Sales.SalesOrderDetail表返回哪些

6K10

10 个高级 SQL 查询技巧

使用常用表表达式(CTEs)是模块化分解代码好方法,与您将文章分解为几个段落方式相同。 请在Where子句中使用子查询进行以下查询。...) AND salary >= (SELECT avgSalary FROM avg_female_salary) 现在很清楚,Where子句多伦多名称中过滤。...它们都用来比较两个查询/表之间。所说,这两个人之间存在微妙细微差别。 首先,除了过滤删除重复并返回不同与不在中不同行。...8.计算Delta 另一个常见应用程序是将不同时期进行比较。例如,本月上个月销售之间三角洲是什么?或者本月本月去年这个月是什么?...将不同时段进行比较以计算Deltas时,这是Lead()LAG()发挥作用时。

15510
领券