数据库 Mysql内容补充二

本文详细介绍了MySQL与Oracle数据库中的多表查询方法,包括内连接、外连接及子查询等,展示了如何在MySQL中实现Oracle风格的连接查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多表查询
mysql支持的是SQL99标准的连接查询,并不支持oracle公司的外连接查询,
但是支持oracle等值查询,不等值查询,自连接查询,子查询(只要不是外连接(+)都支持)
oracle也支持SQL99标准的连接查询
内连接
--等值查询
select e.empno,e.ename,e.sal,d.dname 
from emp e
inner join dept d
on e.deptno=d.deptno;
--简单而言:就是将oracle多表查询语法中的逗号换成inner join,
  where中的查询条件放在on后面,强调on后面不单单可以是连接条件也可以是查询条件

--不等值查询
select e.empno,e.ename,e.sal,s.grade
from emp e
inner join salgrade s
on e.sal>=s.losal and e.sal<=s.hisal;

左外连接(右外连接--right join)
select d.deptno,d.dname,count(e.empno)
from dept d
left join emp e
on d.deptno=e.deptno
group by d.deptno, d.dname
--左外连接要注意,想全部显示那个表的数据,就把那个表作为基表,
  例如想显示dept表中的40号部门,所以dept就是基表,这个oracle中的(+)相反。
mysql中的滤空函数
--ifnull(字段名,想要的值)
--mysql没有nvl()函数
mysql中的字符串连接
--mysql不支持oracle中的"||"连接符号
--mysql支持oracle中的concat()连接函数
查看当前数据库的字符集
--show variables like 'character%';
mysql编译
--在linux64位场景下,编译mysql共享库需要更多的共享库文件
-ldl:linux下的动态库文件
-lpthread:多线程共享库文件
-lm:数学函数共享库
-stdc++:mysql用到了部分c++函数,需要链接c++的共享库
-lrt:时间共享库函数

linux32位场景下可能没有问题

 

转载于:https://www.cnblogs.com/zhanggaofeng/p/6286436.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值