小猿圈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位場景下可能沒有問題數據庫

講解很詳細吧,但願你們看完這篇文章能本身在電腦上練習一遍,真正能夠消化,真正能夠轉變爲本身的知識,這篇就到這裏了,但願你們對小猿圈文章的喜好。多線程

相關文章
相關標籤/搜索