DMSQL简介
DM_SQL语言是一种介于关系代数与关系演算之间的语言,其功能主要包括数据定义、 查询、操纵和控制四个方面,通过各种不同的SQL语句来实现。按照所实现的功能,DM_SQL 语句分为以下几种:
- 用户、模式、基表、视图、索引、序列、全文索引、存储过程和触发器的定义和删 除语句,基表、视图、全文索引的修改语句,对象的更名语句;
- 查询(含全文检索)、插入、删除、修改语句;
- 数据库安全语句。包括创建角色语句、删除角色语句,授权语句、回收权限语句, 修改登录口令语句,审计设置语句、取消审计设置语句等。
在嵌入方式中,为了协调DM_SQL语言与主语言不同的数据处理方式,DM_SQL语言引 入了游标的概念。因此在嵌入方式下,除了数据查询语句(一次查询一条记录)外,还有几 种与游标有关的语句:
- 游标的定义、打开、关闭、拨动语句;
- 游标定位方式的数据修改与删除语句。 为了有效维护数据库的完整性和一致性,支持DBMS的并发控制机制,DM_SQL语言提供了事务的回滚(ROLLBACK)与提交(COMMIT)语句。同时 DM 允许选择实施事务级读一致 性,它保证同一事务内的可重复读,为此DM提供用户多种手动上锁语句,和设置事务隔离 级别语句。
简单查询
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;(解决员工没有部门)
左外连接(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:先运行子查询,如果存在满足查询条件的,就去运行主查询,主查询没有满足条件的,再运行子查询,直到没有满足条件的。
今天的文章达梦数据库查询语句分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/32383.html