
SQL
请加油吧
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SQL语句自连接
之前一直不太懂自连接里面的逻辑,不太会应用,遇到也就得过且过了,之后在一场很重要的面试中遇到了,很尴尬。所以遇到什么问题真的要弄懂弄透不断扫盲~通过栗子来说明吧。栗子1:题目要求是在要求返回员工中,员工的salary大于manager的salary,返回满足这种要求的员工的名字。后面有managerid,所以这种问题可以使用自连接来解决。select a.name as employe...转载 2019-01-03 16:31:55 · 14444 阅读 · 4 评论 -
hive优化
hive优化:1、将大表放在后头hive假定查询中最后一个表是大表,它会将其他表缓存起来然后扫描最后那个表。因此通常需要将小表放前面,或者标记哪张表是大表:/streamtable(table_name)/2、使用相同的连接键当对三个或者更多个表进行join连接时,如果每个on子句都使用相同的连接键的话,那么只会产生一个mapreduce job3、尽量早的过滤数据减少每个阶段的数据...转载 2019-03-19 16:54:26 · 259 阅读 · 0 评论 -
SQL中group by的用法解析
由于自学很多东西掌握的不够,这个问题在一次很重要的面试时候被问到了,是用于写SQL语句当中,犯了很低级的错误,最终没能如愿进入那家公司。group by的作用是通过一定的规则将一个数据集划分成若干个小区域,然后针对每个区域进行数据处理。如果要用到group by 一般要用到的是 每 这个字,比如 每个部门有多少人。栗子:select department_id ,count(*) fro...转载 2019-01-03 12:14:05 · 5837 阅读 · 1 评论 -
SQL语句中EXISTS的用法
SQL萌新一个,在这里记录一下自学过程中遇到的问题。exists:强调的是,是否有返回集,不需要知道具体返回的是什么比如这两个表:输入查询语句:select * from customer c where not exists(select * from customer_goods cg where cg.customer_id = 1)返回结果为空。也就是说,exists后面的...转载 2019-01-03 11:54:37 · 39854 阅读 · 6 评论 -
SQL面试题(持续更新)
只是收集的一些基础概念和基本原理,如果有不对的地方希望可以指正~-数据三大范式:第一范式:强调的是列的原子性,列不能分成其他几列,第一范式就是无重复的域。第二范式:首先是在第一范式的基础上,另外包含两部分的内容,一是表必须有主键,二是没有包含在主键中的列必须完全依赖于主键,不能只依赖于主键的一部分。第三范式:在第二范式的基础上,非主键列必须直接依赖于主键,不能存在传递依赖。 ...原创 2019-01-06 23:53:27 · 418 阅读 · 0 评论 -
SQL中join on后面加where还是and的问题
原博:https://blog.youkuaiyun.com/qq_41973536/article/details/81081024join关键字的作用是将多个表按一定的条件联合起来,从而可以实现从多个表中获取数据在join后面可以接on条件和where条件,在这里我主要就是说这两者之间的差别建立两张简单的用来测试的表并添加数据,如下所示,一张表名为id_name,另一张表名为id_age...转载 2019-01-06 19:34:42 · 10430 阅读 · 6 评论 -
SQL中limit的几种使用方法。
平台是MySQL几个栗子:在数据库中很多地方都会用到,比如当你数据库查询记录达几万,几十万的时候查询效率非常快,只需要查询出你需要的数据就可以了,再也不用全表查询导致查询数据库崩溃的情况。 · select * from customer limit 10; 检索前十行数据,显示1-10条数据。· select * from customer limit 1,10; 检索...转载 2019-01-06 18:29:02 · 4325 阅读 · 0 评论 -
MySQL的case when实现行转列时遇到的问题。
之前也做了很多SQL题目,但是都没有实际运行过,最近建表和查询一步步亲身实践才发现了很多基础的问题还没有理解透彻。所以动手的确还是第一重要的。通过case when也让我对group by和聚合函数的使用有了更深一步的理解。其实这里主要涉及到的问题和case when没有实质性的关系。原数据:加了max实现的行转列不加max实现的行转列:这里可以在看一下不加gr...转载 2019-01-06 13:43:19 · 1125 阅读 · 2 评论 -
SQL优化问题
关于SQL的优化:(好几个面试都有问到)1、不要写select * 语句。2、合理写where子句,不要写没有where的SQL语句3、可以合并一些SQL语句。4、尽量不要使用or,or两边必须要有索引才行。5、选取最适用的字段属性在创建表的时候,字段宽度尽可能小,将字段设置为not null 不用去比较null值enum类型被当做数值型来处理,速度比文本类型快,状态类字段选择en...原创 2019-01-03 16:55:40 · 196 阅读 · 0 评论 -
SQL查询-存在一个表而不在另一个表中的数据
SQL查询-存在一个表而不在另一个表中的数据方法1:使用not in 容易理解,效率低,执行时间为1.395sselect distinct a.id from a where a.id not in (select id from b)方法2:使用left join on…where b.id is null 执行时间:0.739sselect a.id from a left join...转载 2019-03-25 11:23:48 · 6628 阅读 · 0 评论