
SQL
薛定谔的泡泡机
这个作者很懒,什么都没留下…
展开
-
子查询和关联查询的区别
子查询和关联查询的区别 子查询就是查询中又嵌套的查询,表连接都可以用子查询,但不是所有子查询都能用表连接替换,子查询比较灵活,方便,形式多样,适合用于作为查询的筛选条件,而表连接更适合与查看多表的数据。子查询...转载 2019-02-26 14:40:48 · 1659 阅读 · 0 评论 -
连接查询和子查询举例
笛卡尔积当两个数据表进行关联查询时,用第一张数据表的每条记录去匹配第二张数据表的每条记录select* from A,B;第一张表10条数据第二张表20条数据返回结果是200条数据笛卡尔积单独使用的时候是没有意义的,在实际开发中需要获得有意义的结果即需要进行连接查询。连接查询此处使用的是内连接,将两张表具有相同意义的字段连接起来进行相等匹配。写法两种:select * ...转载 2019-02-26 15:10:04 · 682 阅读 · 0 评论 -
SQL 寻找缺失的编号
对于编号起始值是1的情况判断是否存在缺失的编号SELECT '存在缺失的编号' AS gap FROM SeqTblHAVING COUNT(*) <> MAX(seq);查询缺失的编号(连续的编号缺失不适用)SELECT (seq - 1) AS gap FROM SeqTblWHERE (seq - 1) NOT IN ( SELECT seq ...原创 2019-04-26 14:55:19 · 1996 阅读 · 0 评论 -
SQL 实现位次排序
使用窗口函数实现位次排序(MySQL不适用)SELECT name, price, RANK() OVER ( ORDER BY price DESC ) AS rank_1, DENSE_RANK() OVER ( ORDER BY price DESC) AS rank_2 FROM Products;执行结果name price rank_1 ...原创 2019-04-26 15:43:46 · 564 阅读 · 0 评论 -
SQL 使用CASE表达式求三列中的最大值
--求x、y和z三者中的最大值SELECT num, CASE WHEN CASE WHEN x < y THEN y ELSE X END < z THEN z ELSE CASE WHEN x < y THEN y ELSE x END END AS greatest FROM Greatests;...原创 2019-04-18 14:10:19 · 3335 阅读 · 0 评论 -
SQL 中位数求法
利用HAVING子句求中位数(收入的中位)select T1.income from graduates T1,graduates T2group by T1.incomehaving sum(case when T2.income >= T1.income then 1 else 0 end) >= count(*)/2and sum(case when T2.income...原创 2019-04-29 15:16:47 · 4752 阅读 · 0 评论 -
vertica 数据库常用命令
查看所有表名SELECT table_schema, table_name, create_time FROM tables;修改表名ALTER TABLE test1 RENAME TO table_test;修改列名称alter table test1 rename table_id to test_id;修改字段为非空alter table test.f...原创 2019-07-10 09:55:58 · 3506 阅读 · 0 评论