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位場景下可能沒有問題數據庫
講解很詳細吧,但願你們看完這篇文章能本身在電腦上練習一遍,真正能夠消化,真正能夠轉變爲本身的知識,這篇就到這裏了,但願你們對小猿圈文章的喜好。多線程