随笔分类 -  SQL

摘要:1、count(*)查询结果中包含 null值的空行, count(字段) 查询结果为非空行。 注意:1、该特性是 COUNT 函数所特有的,其他函数并不能将星号作为参数(如果使用星号会出错)。 2、所有的聚合函数,如果以列名为参数,那么在计算之前就已经把NULL 排除在外了。因此,无论有多少个 N 阅读全文
posted @ 2022-01-11 08:02 SailorG 阅读(2462) 评论(0) 推荐(0)
摘要:1、where 后同时出现 and 和or时,and的优先级高于or优先级。 解决办法:where后同时出现and 和 or 时,使用括号,决定谁和谁是在一起的。 2、过滤或查询包含 null 值的字段时,不能使用 比较运算符(> , <, != , = ),算术运算符(+, -, *, /)。 解 阅读全文
posted @ 2022-01-11 07:37 SailorG 阅读(129) 评论(0) 推荐(0)
摘要:前提条件: 使用伪劣实现,对现有的信息进行分组添加序号。 create table if not EXISTS bigdata.test (id int ,name varchar(255), num int); insert into test VALUES(1,'lili-1', 1); ins 阅读全文
posted @ 2022-01-10 18:03 SailorG 阅读(1113) 评论(0) 推荐(0)
摘要:本文分享下自己在学习shell过程中如何连接数据库的脚本,本人使用的是MySQL5.7,在连接过程中遇到了一个麻烦,总是报错:Using a password on the command line interface can be insecure.大致意思就是:在命令行界面上使用密码可能不安全。 阅读全文
posted @ 2021-10-12 10:09 SailorG 阅读(6270) 评论(0) 推荐(0)
摘要:SQL中的谓词只有一个就是like。like是谓词而不是操作符。 在使用通配符模糊查询的时候,必须使用like谓词。 通配符使用的注意事项:通配符搜索只能用于文本字段(串),非文本数据类型字段不能使用通配符搜索。 通配符:% 任意个字符(除null);_ 唯一一个字符;[ ] 集合只有微软的Acce 阅读全文
posted @ 2021-10-11 17:51 SailorG 阅读(353) 评论(0) 推荐(0)
摘要:经典案例1 #案例:查询每个部门的平均工资的工资等级 #①查询每个部门的平均工资 SELECT AVG(salary),department_id FROM employees GROUP BY department_id; SELECT * FROM job_grades; #②连接①的结果集和j 阅读全文
posted @ 2021-10-09 16:38 SailorG 阅读(39) 评论(0) 推荐(0)
摘要:-- 方式一 -- 使用判断获取top3的最小值 select case when countNum = 1 then (select order_amount from test.test04 group by order_amount order by order_amount desc lim 阅读全文
posted @ 2021-09-26 17:37 SailorG 阅读(251) 评论(0) 推荐(0)
摘要:注意: 从Sqoop导入MySQL导入TINYINT(1)类型数据到hive(tinyint),数据为null的问题 参考链接:https://blog.csdn.net/qq_43688472/article/details/117998545 阅读全文
posted @ 2021-09-26 15:16 SailorG 阅读(1248) 评论(0) 推荐(0)
摘要:#!/bin/bash # 连接mysql数据库,并查询结果,将结果输出到文件中 # 1.定义连接变量 mysql_u="root" mysql_p="vaca1234!" save_f="mysql.txt" save_p="/root/bin/" mysql_sq="select * from 阅读全文
posted @ 2021-09-24 10:17 SailorG 阅读(5047) 评论(0) 推荐(0)
摘要:函数大致可以分为以下几种: ● 算术函数(用来进行数值计算的函数)● 字符串函数(用来进行字符串操作的函数)● 日期函数(用来进行日期操作的函数)● 转换函数(用来转换数据类型和值的函数)● 聚合函数(用来进行数据聚合的函数) 聚合函数5个,其他函数超多200个,而常用函数30-50个。 算术函数( 阅读全文
posted @ 2021-05-31 22:29 SailorG 阅读(1709) 评论(0) 推荐(0)
摘要:[参考《SQL基础教程》] 视图的优点: 1、视图无需保存数据,因此可以节省存储设备的容量。 表中存储的是实际数据,而视图中保存的是从表中取出数据所使用的SELECT语句。 2、可以将频繁使用的 SELECT 语句保存成视图,这样 就不用每次都重新书写了。 3、视图中的数据会随着原表的变化自动更新。 阅读全文
posted @ 2021-05-31 17:07 SailorG 阅读(1125) 评论(0) 推荐(0)
摘要:事务四大特性:ACID 1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。 2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。 3、隔离性(Isolation):事务的执行不受其他事务的干扰, 阅读全文
posted @ 2021-05-31 15:14 SailorG 阅读(64) 评论(0) 推荐(0)
摘要:创建表的时候,一般会在字段后添加字段约束,字段结尾处添加表约束。 添加约束的两种途径: 1、创建表的时候,指定字段 | 表 约束;create table 表名( 字段 类型 约束); 2、修改表的时候添加约束。alter table 表名 **; 字段约束: not null --非空约束 aut 阅读全文
posted @ 2021-05-30 09:56 SailorG 阅读(326) 评论(0) 推荐(0)
摘要:SQL不区分关键字的大小写。建议使用 ● 关键字大写● 表名的首字母大写● 其余(列名等)小写 ● 缩进 select 字段1, 字段2, ... 字段n from 主表名 join 关联表名 on 关联字段 left join ( select 字段1, 字段2, ... 字段n from 主表名 阅读全文
posted @ 2021-05-30 09:24 SailorG 阅读(121) 评论(0) 推荐(0)
摘要:SQL 用关键字、表名、列名等组合而成的一条语句(SQL 语句)来描述操作的内容。关键字是指那些含义或使用方法已事先定义好的英语单词,存在包含“对表进行查询”或者“参考这个表”等各种意义的关键字。根据对 RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类。 DDL(Data Defini 阅读全文
posted @ 2021-05-30 09:12 SailorG 阅读(985) 评论(0) 推荐(0)
摘要:1、执行速度不同: Hive:底层基于Hadoop的MapReduce引擎,计算过程中经常要走shuffle过程,速度比较慢 Impala:底层基于内存,执行效率高,是Hive执行速度的5-50倍之间。 2、使用的函数之间有区别: Hive:使用 concat() | concat_ws() 函数, 阅读全文
posted @ 2021-05-26 16:42 SailorG 阅读(2375) 评论(0) 推荐(0)
摘要:from 表1 ,表2 结果是笛卡尔积(表1中的行数)x(表2中的行数) from 表1 inner join 表2 on 连接条件 等价于 from 表1 join 表2 on 连接条件 根据连接条件,表1、表2中能匹配上的才会保留 from 表1 left join 表2 连接条件 left j 阅读全文
posted @ 2021-05-18 22:55 SailorG 阅读(876) 评论(0) 推荐(0)
摘要:理解关系表,最好是来看个例子。 有一个包含产品目录的数据库表,其中每类物品占一行。对于每一种物品,要存储的信息包括产品描述、价格,以及生产该产品的供应商。 现在有同一供应商生产的多种物品,那么在何处存储供应商名、地址、联系方法等供应商信息呢?将这些数据与产品信息分开存储的理由是:  同一供应商生产 阅读全文
posted @ 2021-05-18 09:26 SailorG 阅读(795) 评论(0) 推荐(0)
摘要:通配符: 通配符可以配合LIKE操作符一起使用,通配符包括: %:替代 0 个或多个字符。 _ :替代一个字符。 [charlist]:字符列中的任何单一字符。 [^charlist] 或 [!charlist]:不在字符列中的任何单一字符。 使用时注意事项: SQL 中的通配符很有用。但这种功能是 阅读全文
posted @ 2021-05-12 17:56 SailorG 阅读(1047) 评论(0) 推荐(0)
摘要:表中的任何列都可以作为主键,只要它满足以下条件: 任意两行都不具有相同的主键值; 每一行都必须具有一个主键值(主键列不允许 NULL 值); 主键列中的值不允许修改或更新; 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。 阅读全文
posted @ 2021-05-11 17:23 SailorG 阅读(66) 评论(0) 推荐(0)