您好,登錄后才能下訂單哦!
這篇文章主要介紹了mysql內(nèi)連接指的是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
說明
1、內(nèi)部連接類似于自然連接,但內(nèi)部連接不要求比較兩個表的同名屬性列,可以用on或using指定兩個表比較的字段(比較的字段不要求同名)。
2、內(nèi)部連接的條件可以不寫,此時查詢的是笛卡爾積。
實例
# 表的內(nèi)連接,內(nèi)連接是結(jié)果集中只保留符合連接條件的記錄 -- 方法一 SELECT e.empno,e.ename,d.dname -- 連接目標 FROM t_emp e JOIN t_dept d -- 連接條件 ON e.deptno=d.deptno; -- 方法二 SELECT e.empno,e.ename,d.dname -- 連接目標 FROM t_emp e,t_dept d -- 連接條件 WHERE e.deptno=d.deptno; -- 內(nèi)連練習一 # 不同表的內(nèi)連接 # 查詢每個員工的工號,姓名,部門名稱,底薪,職位,工資等級 SELECT e.empno,e.ename,d.dname,e.sal,e.job,s.grade FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno JOIN t_salgrade s ON e.sal BETWEEN s.losal and s.hisal; # 相同表的內(nèi)連接一 # 查詢Scott相同部門的員工都有誰 SELECT e2.ename FROM t_emp e1 JOIN t_emp e2 ON e1.deptno=e2.deptno WHERE e1.ename="SCOTT" AND e2.ename!="SCOTT"; # 相同表的內(nèi)連接二 # 查詢底薪超過公司平均底薪的員工信息 SELECT e.empno,e.ename,e.deptno,e.job FROM t_emp e JOIN (SELECT avg(sal) as avgs FROM t_emp) t ON e.sal>=t.avgs; # 查詢RESEARCH部門的人數(shù),最高底薪、最低底薪、平均底薪、平均工齡 SELECT COUNT(*),MAX(e.sal),MIN(e.sal),AVG(e.sal), FLOOR(AVG((DATEDIFF(NOW(),e.hiredate)/365))) FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno WHERE d.dname="RESEARCH"; SELECT FLOOR(29.9) # 29 SELECT CEIL(1.1) # 1.2 # 查詢每種職業(yè)的最高工資、最低工資、平均工資、最高工資等級和最低工資等級 SELECT e.job, MAX(e.sal+IFNULL(e.comm,0)), MIN(e.sal+IFNULL(e.comm,0)), AVG(e.sal+IFNULL(e.comm,0)), MAX(s.grade), MIN(s.grade) FROM t_emp e JOIN t_salgrade s ON (e.sal+IFNULL(e.comm,0)) BETWEEN s.losal AND s.hisal GROUP BY e.job; # 查詢每個底薪超過部門平均底薪的員工信息 SELECT e.empno,e.ename,e.sal FROM t_emp e JOIN (SELECT deptno,AVG(sal) as depsal FROM t_emp GROUP BY deptno) t ON e.deptno=t.deptno AND e.sal>depsal;
感謝你能夠認真閱讀完這篇文章,希望小編分享的“mysql內(nèi)連接指的是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。