精彩SQL

一个可视化解释sql join 语句的精彩展示 关于sql的join,无意看到一篇文章,mark下 https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/ 阅读详情

HGSQL是一个完全自主开发的分布式异构数据库引擎,它在标准SQL的基础上做了扩充,以下是几条精彩sql,与大家共享:

星造型

--------------------------------------------

select space(abs(f1)) + strn('*', 11 - abs(f1*2)) xin from serial(-5,5);

+-------------+

| XIN         |

+-------------+

|      *      |

|     ***     |

|    *****    |

|   *******   |

|  *********  |

| *********** |

|  *********  |

|   *******   |

|    *****    |

|     ***     |

|      *      |

+-------------+

 

九九乘法表

--------------------------------------------

select to_int(s1.f1 * s2.f1) f1,

       to_int(s1.f1 * s2.f2) f2,

       to_int(s1.f1 * s2.f3) f3,

       to_int(s1.f1 * s2.f4) f4,

       to_int(s1.f1 * s2.f5) f5,

       to_int(s1.f1 * s2.f6) f6,

       to_int(s1.f1 * s2.f7) f7,

       to_int(s1.f1 * s2.f8) f8,

       to_int(s1.f1 * s2.f9) f9

  from serial(1, 9) s1,

       invert(serial(1, 9)) s2

+----+----+----+----+----+----+----+----+----+

| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |

+----+----+----+----+----+----+----+----+----+

|  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 |

|  2 |  4 |  6 |  8 | 10 | 12 | 14 | 16 | 18 |

|  3 |  6 |  9 | 12 | 15 | 18 | 21 | 24 | 27 |

|  4 |  8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 |

|  5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 |

|  6 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54 |

|  7 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 63 |

|  8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 |

|  9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 |

+----+----+----+----+----+----+----+----+----+

 

日历

--------------------------------------------

select case('(s.f1 * 7) + 1 - b.f1 > 0 and (s.f1 * 7) + 1 - b.f1 <= e.f1', (s.f1 * 7) + 1 - b.f1, '') 日,

       case('(s.f1 * 7) + 2 - b.f1 > 0 and (s.f1 * 7) + 2 - b.f1 <= e.f1', (s.f1 * 7) + 2 - b.f1, '') 一,

       case('(s.f1 * 7) + 3 - b.f1 > 0 and (s.f1 * 7) + 3 - b.f1 <= e.f1', (s.f1 * 7) + 3 - b.f1, '') 二,

       case('(s.f1 * 7) + 4 - b.f1 > 0 and (s.f1 * 7) + 4 - b.f1 <= e.f1', (s.f1 * 7) + 4 - b.f1, '') 三,

       case('(s.f1 * 7) + 5 - b.f1 > 0 and (s.f1 * 7) + 5 - b.f1 <= e.f1', (s.f1 * 7) + 5 - b.f1, '') 四,

       case('(s.f1 * 7) + 6 - b.f1 > 0 and (s.f1 * 7) + 6 - b.f1 <= e.f1', (s.f1 * 7) + 6 - b.f1, '') 五,

       case('(s.f1 * 7) + 7 - b.f1 > 0 and (s.f1 * 7) + 7 - b.f1 <= e.f1', (s.f1 * 7) + 7 - b.f1, '') 六

  from serial(0, 5) s,

       (select day_of_week(2007 + '-' + 2 + '-' + 1) - 1 f1) b join

       (select month_days(2007, 2) f1) e on 1=1

+----+----+----+----+----+----+----+

| 日 | 一 | 二 | 三 | 四 | 五 | 六 |

+----+----+----+----+----+----+----+

|    |    |    |    |  1 |  2 |  3 |

| 4  | 5  | 6  | 7  |  8 |  9 | 10 |

| 11 | 12 | 13 | 14 | 15 | 16 | 17 |

| 18 | 19 | 20 | 21 | 22 | 23 | 24 |

| 25 | 26 | 27 | 28 |    |    |    |

|    |    |    |    |    |    |    |

+----+----+----+----+----+----+----+

 

姓名树

--------------------------------------------

select space((level - 1) * 4) + '|-' + 姓名 层姓名

  from nest(query('员工'), 'prior.员工.编号 = 员工.上级', '上级 is null', '编号')

+--------------------+

| 层姓名             |

+--------------------+

| |-刘程飞           |

|     |-孔兵         |

|         |-王芳     |

|             |-宋建 |

|         |-刘海星   |

|             |-王东 |

|     |-张云         |

|         |-李海卫   |

|         |-张空     |

|         |-刘龙维   |

|         |-张凯     |

|         |-李保     |

|     |-关心         |

|         |-赵新     |

+--------------------+

 

序列

--------------------------------------------

select f1 from serial(1,10,2,'h','g')

+-----+

| F1  |

+-----+

| h1g |

| h3g |

| h5g |

| h7g |

| h9g |

+-----+

 

字符串转记录(分割符分割)

--------------------------------------------

select * from split('a,b,c,d',',')

+----+

| F1 |

+----+

| a  |

| b  |

| c  |

| d  |

+----+

 

字符串转记录(等长分割)

--------------------------------------------

select * from splitn('1234567890','3')

+-----+

| F1  |

+-----+

| 123 |

| 456 |

| 789 |

| 0   |

+-----+

取得一段字符串

--------------------------------------------

select getseg('a,b,c',',',2)

+-----------------------+

| GETSEG('a,b,c',',',2) |

+-----------------------+

| b                     |

+-----------------------+

修改一段字符串

--------------------------------------------

select setseg('a,b,c',',',2, 'hg')

+-----------------------------+

| SETSEG('a,b,c',',',2, 'hg') |

+-----------------------------+

| a,hg,c                      |

+-----------------------------+

 

多维合计

--------------------------------------------

SELECT 部门,职位,SUM(工资) 工资 FROM 员工 GROUP BY CUBE(部门,职位)

+------+--------+-------+

| 部门 | 职位   | 工资  |

+------+--------+-------+

| 20   | 职员   |  1900 |

| 20   | 经理   |  2975 |

| 20   | 主管   |  6000 |

| 30   | 销售   |  5600 |

| 30   | 经理   |  2850 |

| 30   | 职员   |   950 |

| 10   | 经理   |  2450 |

| 10   | 总经理 |  5000 |

| 10   | 职员   |  1300 |

| 20   |        | 10875 |

| 30   |        |  9400 |

| 10   |        |  8750 |

|      | 职员   |  4150 |

|      | 销售   |  5600 |

|      | 经理   |  8275 |

|      | 主管   |  6000 |

|      | 总经理 |  5000 |

|      |        | 29025 |

+------+--------+-------+

 

交叉统计

--------------------------------------------

select * from cross(query('员工'), '部门','职位','工资','sum', 'true','合计')

+-----------+---------+--------+--------+---------+

| 职位/部门 | 20      | 10     | 30     | STAT    |

+-----------+---------+--------+--------+---------+

| 职位/部门 | 20      | 10     | 30     |    合计 |

| 主管      | 6000    |        |        |    6000 |

| 总经理    |         | 5000   |        |    5000 |

| 经理      | 2975    | 2450   | 2850   |  8275.0 |

| 职员      | 1900    | 1300   | 950    |  4150.0 |

| 销售      |         |        | 5600   |    5600 |

| 合计      | 10875.0 | 8750.0 | 9400.0 | 29025.0 |

+-----------+---------+--------+--------+---------+

 

指定记录范围查询

--------------------------------------------

select * from 员工 where rowno() between 3 and 7

+------+--------+------+------+------------+------+------+------+

| 编号 | 姓名   | 职位 | 上级 | 出生日期   | 工资 | 奖金 | 部门 |

+------+--------+------+------+------------+------+------+------+

| 0003 | 张空   | 销售 | 0006 | 1982-08-07 | 1250 |  500 | 30   |

| 0004 | 孔兵   | 经理 | 0009 | 1982-03-01 | 2975 |      | 20   |

| 0005 | 刘龙维 | 销售 | 0006 | 1982-10-13 | 1250 | 1400 | 30   |

| 0006 | 张云   | 经理 | 0009 | 1977-02-14 | 2850 |      | 30   |

| 0007 | 关心   | 经理 | 0009 | 1978-07-27 | 2450 |      | 10   |

+------+--------+------+------+------------+------+------+------+

 

导出插入sql

--------------------------------------------

select insert_sql('XML.部门');

--------------------------------------------

insert into XML.部门 (编号, 名称, 备注) values ('10', '财务部', '');

insert into XML.部门 (编号, 名称, 备注) values ('40', '行政部', '');

insert into XML.部门 (编号, 名称, 备注) values ('20', '开发部', '');

insert into XML.部门 (编号, 名称, 备注) values ('30', '销售部', '');

 

字符串合计

--------------------------------------------

select strsum(编号,',') from 部门;

+------------------+

| STRSUM(编号,',') |

+------------------+

| 10,40,20,30      |

+------------------+

 

代码转名称

--------------------------------------------

select map((select 编号,名称 from 部门), '10')

+-----------------------------------------+

| MAP((SELECT 编号,名称 FROM 部门), '10') |

+-----------------------------------------+

| 财务部                                  |

+-----------------------------------------+

基于simulink的车道保持辅助系统(LKA)的仿真与实现 本文介绍了如何利用Simulink实现车道保持辅助系统(LKA)的仿真与建模。首先对比了车道偏离预警(LDW)和LKA的功能差异,强调LKA的主动干预特性。接着详细阐述了LKA系统架构,包括环境感知、决策控制等核心组件,并基于自行车模型建立车辆横向动力学方程。 文章重点演示了Simulink建模步骤:搭建车辆动力学模型、设计LKA控制器(采用LQR算法)、实现执行器接口和驾驶员干预检测。通过四个典型场景的仿真测试,验证了系统在直道行驶、弯道跟踪等工况下的控制性能,并给出了关键评价指标。最后展望了MPC控制、 阅读详情

相关推荐

【操作系统】 Operation System 第一章:概述

B站 陈渝老师 清华大学 https://www.bilibili.com/video/av6538245?from=search&seid=436175425155932048 相关资料(源自B站下方评论区) https://www.shiyanlou.com/courses/221 配套上机实验地址 https://b23.tv/av18273642/p1 这个适合跨考和基础薄弱的 h...

iwanderu的博客 4万+

精彩SQL语句

【SQL Server 数据库导入导出部分】 1、在查询分析器下查询Excel文档 SELECT * FROM OpenDataSource(Microsoft.Jet.OLEDB.4.0,Data Source="c:/测试.xls"; User ID=Admin;Password=;Extended properties=Excel 8.0)...Sheet1$ 2、从数据库中

donglingzhu的专栏 411

MIT6.824-lab2D-2022(日志压缩详细讲解)

从paper中去讲解,并实现关于lab2D的代码。

幸平的博客 6038

几个精彩的SQL语句

说明:复制表(只复制结构,源表名:a 新表名:b)SQL: select * into b from a where 1说明:拷贝表(拷贝数据,源表名:a 目标表名:b)SQL: insert into b(a, b, c) select d,e,f from b;说明:显示文章、提交人和最后回复时间SQL: select a.title,a.username,b.adddate from tab

亿度空间 954

AD9371 官方例程构建及单音信号收发

项目构建基本流程和AD9361差不多,由于官方使用的ZCU102,记录下移植遇到的一些问题最终接收到正确的正弦波Errors: 0Errors: 0Errors: 0Errors: 0AD9361。

weixin_44630490的博客 2973

伯德图详解:从传递函数到系统稳定性的频域分析

在自动控制与控制系统设计中,理解系统对不同频率输入信号的响应特性,是分析和设计稳定系统的核心基础。频率响应描述了系统对正弦输入的幅值增益与相位变化规律,而伯德图作为最直观的频域分析工具,通过对数坐标将宽频带特性压缩成一条清晰曲线,让工程师无需复杂计算即可快速评估系统性能。从典型环节的渐近线绘制,到相位裕度、幅值裕度的读取,伯德图贯穿了系统稳定性判断、控制器参数整定及噪声抑制等关键场景。本文结合实际调试经验,系统讲解伯德图的绘制原理与读图方法,帮助读者快速掌握从传递函数到工程应用的核心技能。

weixin_34535286的博客 344

精彩SQL语句收藏

在网上经常转,常常看到有些人为了求得某些SQL语句而焦头烂额,现在我特别把自己收藏的一些比较精典的SQL拿出来和大家分享一下1. 行列转换--普通假设有张学生成绩表(CJ)如下Name    Subject     Result张三    语文        80张三    数学        90张三    物理        85李四    语文        85李四    数学

Sysbor的专栏 957

Delphi中使用FireDAC与uniDAC高效连接PostgreSQL的实战指南

本文为Delphi开发者提供了使用FireDAC与uniDAC组件高效连接PostgreSQL数据库的实战指南。文章详细对比了两款组件的选择策略,重点解析了驱动依赖(libpq.dll)的配置、连接参数设置、常见错误排查及性能优化技巧,旨在帮助开发者快速构建稳定可靠的数据库连接。

tomato的博客 809

sql精彩语句

精妙SQL语句收集 或许大家对注入有一定的了解,那么你是不是知道一些些SQL语言的知识吗?至少也要会一点吧,手动查找漏洞的朋友或许有此经验,想学好一技术,得从基础学起!这篇文章黑基曾经发贴过这样的贴,不过看过的人又有多少呢?汗!SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作。一、基础1、说明:创建数据库CREATE DATABASE database-name 

yisonghui的专栏 638

PDMS二次开发入门:手把手教你用PML2写第一个交互式窗体工具

本文详细介绍了如何使用PML2进行AVEVA PDMS二次开发,从零开始构建交互式窗体工具。通过PML2语言的面向对象特性、即时调试能力和深度系统集成优势,开发者可以高效创建自动化设计工具、批量修改属性和定制报表系统。文章包含开发环境配置、基础语法、窗体架构设计、事件处理等实战内容,帮助读者快速掌握PDMS二次开发技能。

weixin_29281941的博客 274

【论文复现】——基于LM优化的NDT点云配准算法

传统的正态分布变换配准算法处理初始位姿变换相差较大的两帧点云时,存在无法收敛或者陷入局部最小值的问题。为了提高算法的收敛性能,提出了一种基于LM方法改进的三维正态分布变换配准算法。

点云侠的博客 1163

精彩SQL收藏

 模糊表名的联合查询..create table tz2008_1_1(id int,name varchar(50))insert into tz2008_1_1 select 1,acreate table tz2008_1_2(id int,name varchar(50))insert into tz2008_1_2 select 2,bcreate table t

五维思考 1688

AUTOSAE软件配置-达芬奇( DaVinci Configurator)从新建工程开始

方法1,直接使用案例工程,一般SIP包会有一个创建好的案例工程,在这样的路径YOUR_SIP_DIR/Applications/SipAddon/StartApplication下面直接打开这个*.dpa文件即可看到已经预先做好的工程:但是,这个也不是全的,也不一定完全正确,至少MCAL是没有配置好的(MCAL是IC厂商提供的,并不归属SIP包的一部分)。这样就需要你自己去配置你想要的模块,修改里面的错误。

m0_49148264的博客 2948

精彩SQL集锦(一)

SELECT  表名=case when a.colorder=1 then d.name else end, 表说明=case when a.colorder=1 then isnull(f.value,) else end, 字段序号=a.colorder, 字段名=a.name, 标识=case when COLUMNPROPERTY( a.id,a.name,IsIden

平淡中求进取,柔和里觅激情 1093

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

精彩sql语句2

说明:复制表(只复制结构,源表名:a 新表名:b) SQL: select * into b from a where 1<>1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) SQL: insert into b(a, b, c) select d,e,f from b; 说明:显示文章、提交人和最后回复时间 SQL: select a.title,a.use...

weixin_30772261的博客 102

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SQL精彩语句集

 1、按姓氏笔画排序     Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as    

朩冰雲的专栏 674

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LINQ to SQL精彩文章收集

使用LINQ to SQL (第一部分)(韩现龙译) LINQ to SQL效率比较低的几个地方

weixin_34198762的博客 98

精彩sql语句1

SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除...

weixin_30740295的博客 68

精彩SQL语句(下)

说明:复制表(只复制结构,源表名:a 新表名:b) SQL: select * into b from a where 1<>1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) SQL: insert into b(a, b, c) select d,e,f from b; 说明:显示文章、提交人和最后回复时间 SQL: select a.title...

weixin_33869377的博客 112

springboot集成log4jdbc -让SQL日志更加精彩

环境 框架: springboot 2.0 数据库: oracle 日志: springboot使用默认的logback log4jdbc介绍 使用java进行数据库操作时最痛苦的莫过于拼接SQL语句。在实际运行时往往需要查看实际生成的SQL语句和实际传入的参数,或许还会有查看SQL执行时间等的需求。 无论原生JDBC、dbutils、mybatis还是hibernate,使用log4j等日志框架...

起止洺的博客 5353

SQL优化案例精彩连载(一)

导读 知数堂致力于为学员的职场之路保驾护航,课上课下不遗余力为广大学员排忧解难! SQL优化课郑松华老师根据帮学员优化的案例为原型,和大家分享各式优化思路,本文为连载系列第一篇,将不定期陆续更新,敬请关注!   待优化场景 执行计划见下: 该表的几个索引见下:   SQL优化之路 首先,我们先review下这个SQL: mysql>

老叶茶馆 963

【SQL精彩语句】合并列值

--合并列值--原著:邹建--改编:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)  2007-12-16  广东深圳--表结构,数据如下:/*id    value ----- ------ 1    aa 1    bb 2    aaa 2    bbb 2    ccc */--需要得到结果:/*id    values ------ ----------- 1      aa,bb 2      aaa,bbb,ccc 即:group by id, 求value 的和(字符串相加)*/--1. 旧

民工不如 709

【SQL精彩语句】普通行列转换

/*标题:普通行列转换(version 2.0)作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)时间:2008-03-09地点:广东深圳说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果): 姓名 语文 数学 物理 --

民工不如 427

【SQL精彩语句】分拆列值

<br />/*<br />分拆列值 <br />原著:邹建 <br />改编:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-12-16 广东深圳 <br />有表tb, 如下: <br />id value <br />----------- ----------- <br />1 aa,bb <br />2 aaa,bbb,ccc <br />欲按id,分拆value列, 分拆后结果如下: <br />id value <br />----------- -------- <br />1 a

民工不如 526

【汇总】SQL CODE --- 经典·精彩

【汇总】SQL CODE --- 经典·精彩 数据操作类 SQLHelper.cs 无限级分类 存储过程 百万级分页存储 SQL经典短小代码收集  学生表 课程表 成绩表 教师表 50个常用sql语句 SQL SERVER 与ACCESS、EXCEL的数据转换 游标 根据不同的条件查询不同的表 INNER JOIN 语法 master.dbo.spt_values 的妙用关于SQL时间类型的模

~飞 鸟 (*^__^*) 天 堂~ 616
上一篇: sqlhub发布2.2.0版本,增加轻量级报表绘图引擎,免费下载
下一篇: 使用JDBC操作EXCEL的新方法
sqlhub
博客等级 码龄21年 19粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值