DMSQL简介 DM_SQL语言是一种介于关系代数与关系演算之间的语言,其功能主要包括数据定义、 查询、操纵和控制四个方面,通过各种不同的SQL语句来实现。按照所实现的功能,DM_SQL 语句分为以下几种:
在嵌入方式中,为了协调DM_SQL语言与主语言不同的数据处理方式,DM_SQL语言引 入了游标的概念。因此在嵌入方式下,除了数据查询语句(一次查询一条记录)外,还有几 种与游标有关的语句:
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:先运行子查询,如果存在满足查询条件的,就去运行主查询,主查询没有满足条件的,再运行子查询,直到没有满足条件的。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有