前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >达梦数据库查询语句「建议收藏」

达梦数据库查询语句「建议收藏」

作者头像
全栈程序员站长
发布于 2022-10-05 00:39:33
发布于 2022-10-05 00:39:33
2.5K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

DMSQL简介 DM_SQL语言是一种介于关系代数与关系演算之间的语言,其功能主要包括数据定义、 查询、操纵和控制四个方面,通过各种不同的SQL语句来实现。按照所实现的功能,DM_SQL 语句分为以下几种:

  • 用户、模式、基表、视图、索引、序列、全文索引、存储过程和触发器的定义和删 除语句,基表、视图、全文索引的修改语句,对象的更名语句;
  • 查询(含全文检索)、插入、删除、修改语句;
  • 数据库安全语句。包括创建角色语句、删除角色语句,授权语句、回收权限语句, 修改登录口令语句,审计设置语句、取消审计设置语句等。

在嵌入方式中,为了协调DM_SQL语言与主语言不同的数据处理方式,DM_SQL语言引 入了游标的概念。因此在嵌入方式下,除了数据查询语句(一次查询一条记录)外,还有几 种与游标有关的语句:

  • 游标的定义、打开、关闭、拨动语句;
  • 游标定位方式的数据修改与删除语句。 为了有效维护数据库的完整性和一致性,支持DBMS的并发控制机制,DM_SQL语言提供了事务的回滚(ROLLBACK)与提交(COMMIT)语句。同时 DM 允许选择实施事务级读一致 性,它保证同一事务内的可重复读,为此DM提供用户多种手动上锁语句,和设置事务隔离 级别语句。

DML命令

简单查询

select() from (); 第一个括号可以接(*,列命名,||,alias,distinct,表达式)

过滤排序

过滤: select () from () where(); where后边可以接(比较运算,逻辑运算,NULL/NOT NULL,in,between…and,模糊查询like) 排序:select () from () where() order by (asc / desc);

分组查询

聚合函数 sum avg max min count select聚合函数(),列名 from () group by (列名) having ();

多表查询

语法:select () from () join () on (); 找出每个用工所在的部门? select e.employee_name,d.department_name from employee e join department d on e.department_id=d.department_id;(问题,有员工没有部门) 左外连接 select e.employee_name,d.department_name from employee e left join department d on e.department_id=d.department_id;(解决员工没有部门)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  左外连接(left join)
  右外连接(right join)
  全外连接 (full join)

子查询

分类:单行 多行

机制:子查询的结果是主查询的条件,子查询先于主查询运行

单行:返回结果唯一

select () from () where ()=(sql语句);

找出和马学铭在同一个部门的人?(同名,可以使用in)

select department_id,employee_name from employee where department_id= (select department_id from employee where employee_name=‘马学铭’);

多行子查询:返回结果为多个 any all in exists

any(min) <any(max)

all(max) <all(min)

找出比1004部门所有人工资都高的? select employee_name,department_id,salary from employee where salary >all (select salary from employee where department_id=1004);

in:先运行子查询,子查询运行完,在运行主查询。

exists:先运行子查询,如果存在满足查询条件的,就去运行主查询,主查询没有满足条件的,再运行子查询,直到没有满足条件的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月8日 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Oracle高级技术——CTE
今天聊个Oracle的CTE,刚听到这个会不会有点陌生?CTE是英文Common Table Expressions(公共表表达式)。这个概念其实用的还是蛮多的,解决的主要是将尽可能多的子查询减少,简化复杂查询,比如我们平时用left Join或者Right Join 可能一连连一堆表,这样重复的子查询也可能很多,在运行的时候很费性能。
会用数据库
2025/06/13
700
多表查询与7种JOINS的实现
前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。
timerring
2023/02/16
1.5K0
多表查询与7种JOINS的实现
MySQL学习笔记【基础篇】
1、DB:数据库,保存一组有组织的数据的容器 2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 3、SQL:结构化查询语言,用于和DBMS通信的语言
_DIY
2020/08/19
2.3K0
MySQL学习笔记【基础篇】
mysql基础
①select 字段 ②from 表1 ③join 表2 ④on 连接条件 ⑤where 筛选条件 ⑥group by 分组字段 ⑦having 分组后筛选条件 ⑧order by 排序字段 ⑨limit offset,size 执行顺序:② ③ ④ ⑤ ⑥ ⑦ ① ⑧ ⑨
Java微观世界
2025/01/20
1060
mysql基础
什么?inner join比left join更快?
在数据密集型应用中,优化数据库查询性能是提高系统响应速度的关键因素之一。INNER JOIN 和 LEFT JOIN 是常用的SQL连接操作,但它们在性能上的表现常常引发争议。很多开发者在面对复杂的查询需求时,不确定该选择哪种连接方式来获得最佳的性能。本文将通过性能分析、实际案例和优化技巧,帮助你解答这个问题,确保你的数据库查询既高效又可靠。
一只牛博
2025/05/31
1010
什么?inner join比left join更快?
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧
MySQL数据库,从入门到精通:第一篇——MySQL概念详解 MySQL数据库,从入门到精通:第二篇——MySQL关系型数据库与非关系型数据库的比较 MySQL数据库,从入门到精通:第三篇——MySQL 数据库规范和基础查询语句 MySQL数据库,从入门到精通:第四篇——MySQL中常用的运算符及其用法 MySQL数据库,从入门到精通:第五篇——MySQL排序和分页 MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧 MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用 MySQL数据库,从入门到精通:第八篇——MySQL聚合函数实战探究:优化SELECT过程助力高效查询 MySQL数据库,从入门到精通:第九篇——MySQL子查询 MySQL数据库,从入门到精通:第十篇——MySQL表创建和管理指南 MySQL数据库,从入门到精通:第十一篇——MySQL数据处理之增删改指南 MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解 MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解 MySQL数据库,从入门到精通:第十四篇——MySQL视图详解 MySQL数据库,从入门到精通:第十五篇——MySQL存储过程和函数详解 MySQL数据库,从入门到精通:第十六篇——MySQL变量、流程控制和游标详解 MySQL数据库,从入门到精通:第十七篇——MySQL 触发器的使用方法及注意事项 MySQL数据库,从入门到精通:第十八篇——MySQL 8新特性全解析
默 语
2024/11/20
2510
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧
【mysql】多表查询的分类
多表查询分类 分类1:等值连接 vs 非等值连接 1. 等值连接 [在这里插入图片描述] SELECT employees.employee_id, employees.last_name, employees.department_id, departments.department_id, departments.location_id FROM employees, departments WHERE employees.department_id = depart
兮动人
2022/03/04
2.5K0
SQL学习日记(二)
例如:按照 department_id 查询 employees(员工表)和 departments(部门表)的信息。
量子态的沐子呓
2019/12/25
3730
学习python第四天——Oracle查询
3.子查询(难): 当进行查询的时候,发现需要的数据信息不明确,需要先通过另一个查询得到, 此查询称为子查询; 执行顺序:先执行子查询得到结果以后返回给主查询 组成部分: 1).主查询部分 2).子查询部分 【注意事项】: 子查询一定需要被定义/包裹在小括号内部,可以认为是显示的提升了代码执行的优先级 需求1: 查询薪资比Abel的高的有谁? 分析: ①.先查询出Abel的薪资是多少? ②.将过滤条件定义为>①,然后进行查询得到最终需要的结果 代码实现: select last_name,salary from employees where salary > ( select salary from employees where last_name = 'Abel' ); 需求2: 查询job_id与141号员工相同,salary比143号员工多的员工的姓名,job_id和salary? 代码实现: select last_name,job_id,salary from employees where job_id = ( select job_id from employees where employee_id = 141 ) and salary > ( select salary from employees where employee_id = 143 ); 课堂练习: 1).返回公司工资最少的员工的employee_id,job_id和salary select employee_id,job_id,salary from employees where salary = ( select min(salary) from employees ); 2).查询平均工资高于公司平均工资的部门有哪些 select department_id,avg(salary) from employees group by department_id having avg(salary) > ( select avg(salary) from employees ) order by department_id desc; 3).查询最低工资大于20号部门最低工资的部门id和最低工资 select department_id,min(salary) from employees where department_id is not null group by department_id having min(salary) > ( select min(salary) from employees having department_id = 20 ); 4).返回其它职位中比job_id为'IT_PROG'中最低工资低的员工的员工号,姓名,job_id以及salary select employee_id,last_name,job_id,salary from employees where salary < ( select min(salary) from employees where job_id = 'IT_PROG' ); 4.多表查询/多表联查 概念: 使用场景,如果一条select语句中需要查询的列遍布多张数据表, 那么我们就必须使用多表查询了!! 分类: 等值连接和非等值连接 对于等值连接分方向: 1).内连接:返回多张表中共同满足的数据,取交集 2).外连接(左、右、满):返回内连接数据的同时还会继续返回某张表中不匹配的一些记录数 3).自连接:从始至终都是一张表,模拟一张表派生为两张(它们的结构式一模一样的),自己连自己 等值连接中的内连接: 需求: 查询所有员工的员工号、员工姓名以及部门的名字? select employee_id,last_name,department_name from employees,departments; 【注意】 以上查询得到了2889条记录,很多都是没有用的数据(脏数据), 出现的原因是:没有添加有效的连接条件导致的, 而这种现象我们称为笛卡尔集现象; 我们日后的学习和开发环境中是绝对要避免的!! 如何保证我们之后的多表查询绝对不会出现笛卡尔集现象? 1).不能不写连接条件 2).连接条件必须是有效的 思考:如何修改上述的代码? 代码实现如下: select employee_id,last_name,department_name from employees,departments where employees.department_id = depart
hankleo
2020/09/16
4370
第06章_多表查询
前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠 “部门编号” 进行关联。
程序员Leo
2023/08/07
2860
第06章_多表查询
MySQL系列专题(2)-MySQL的SQL语句和高级特性
一、 DML 操作【重点】 ---- 1.1 新增(INSERT) INSERT INTO 表名(列 1,列 2,列 3…) VALUES(值 1,值 2,值 3…); 1.1.1 添加一条信息 #添加一条工作岗位信息 INSERT INTO t_jobs(JOB_ID,JOB_TITLE,MIN_SALARY,MAX_SALARY) VALUES('JAVA_Le','JAVA_Lecturer',2500,9000); #添加一条员工信息 INSERT INTO `t_employees` (EM
用户4919348
2022/01/06
3.9K0
MySQL系列专题(2)-MySQL的SQL语句和高级特性
Java小白学习MyBatis:实现一对一有几种方式?具体怎么实现?
MyBatis是基于Java的一款优秀的ORM框架,提供了多种映射配置方式,并且支持各种形式的关联查询。在MyBatis中,一对一关系指的是一个数据库表中的某个字段在另一张表中也有对应的唯一值。如果你是一位Java小白,那么接下来讲解如何使用MyBatis完成一对一关系的映射。
用户1289394
2023/08/22
5150
Java小白学习MyBatis:实现一对一有几种方式?具体怎么实现?
【MySQL】02_子查询与多表查询
指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。
鸡先生
2022/10/29
2.9K0
【MySQL】02_子查询与多表查询
2-SQL语言中的函数
出现在其他语句中的select语句,称为子查询或内查询 外部出现的查询语句,称为主查或外查询
Ywrby
2022/10/27
3.1K0
第14章_视图
视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的销售人员,我们只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如,人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。
程序员Leo
2023/08/07
1960
第14章_视图
(八)多表查询
前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个 关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进 行关联。
小点点
2022/12/12
9600
(八)多表查询
【数据库设计和SQL基础语法】--连接与联接--多表查询与子查询基础(二)
子查询是指在一个查询语句内部嵌套另一个查询语句的过程。子查询可以嵌套在 SELECT、FROM、WHERE 或 HAVING 子句中,用于从数据库中检索数据或执行其他操作。子查询通常返回一个结果集,该结果集可以被包含它的主查询使用。 以下是子查询的一般概述:
喵叔
2023/12/21
7180
MySQL数据库,从入门到精通:第九篇——MySQL子查询
在实际数据处理中,子查询是一项非常常用的技术,在MySQL数据库中也有着广泛的应用。使用子查询可以更细致地查询数据,并减少查询的复杂度。本文将全面讲解MySQL中的子查询,包括单行子查询、多行子查询和相关子查询等的基本用法和进阶技巧,同时也会抛出一个思考题,帮助读者更好地理解和运用子查询。
默 语
2024/11/20
3130
MySQL数据库,从入门到精通:第九篇——MySQL子查询
SQL语言常用技巧
在最新排名中,SQL 的排名从 9 升至 8,SQL(Structured Query Language,结构化查询语言)是用于管理关系数据库的标准编程语言。它用于查询、更新、管理关系数据库中的数据,以及管理数据库结构。掌握一些常用的SQL技巧对于提高数据库操作效率至关重要。本文将详细介绍SQL语言的一些常用技巧,并通过代码实操来加深理解。
小明爱吃火锅
2024/07/08
1450
MySQL基础学习笔记
1.基础概念 1.1 相关概念与常用命令 数据库的好处 1.持久化数据到本地 2.可以实现结构化查询,方便管理 常见概念 1、DB:数据库,保存一组有组织的数据的容器 2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 3、SQL: 结构化查询语言,用于和DBMS通信的语言 数据库存储数据的特点 1、将数据放到表中,表再放到库中 2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。 3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中“
素履coder
2022/02/17
1.2K0
相关推荐
Oracle高级技术——CTE
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验