小猿圈Mysql之多表查询

Mysql多表查询刚学数据库的朋友们,感受涉及到一个表还好说,多表的话就感受有点复杂了,小猿圈这篇详解一下mysql数据库的多表查询,但愿朋友们在我这学到别的文章学不到的东西。mysql

多表查询linux

mysql支持的a是SQL99标准的链接查询,并不支持oracle公司的外链接查询,

可是支持oracle等值查询,不等值查询,自链接查询,子查询(只要不是外链接(+)都支持)

oracle也支持SQL99标准的链接查询

内链接c++

--等值查询

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中的(+)相反。

查看当前数据库的字符集

--show variables like 'character%';

mysql中的滤空函数

--ifnull(字段名,想要的值)

--mysql没有nvl()函数

mysql中的字符串链接

--mysql不支持oracle中的"||"链接符号

--mysql支持oracle中的concat()链接函数

mysql编译sql

--在linux64位场景下,编译mysql共享库须要更多的共享库文件

-ldl:linux下的动态库文件

-lpthread:多线程共享库文件

-lm:数学函数共享库

-stdc++:mysql用到了部分c++函数,须要连接c++的共享库

-lrt:时间共享库函数

linux32位场景下可能没有问题数据库

讲解很详细吧,但愿你们看完这篇文章能本身在电脑上练习一遍,真正能够消化,真正能够转变为本身的知识,这篇就到这里了,但愿你们对小猿圈文章的喜好。多线程

相关文章
相关标签/搜索