2017-02-21 7 views
0

emp表SQLクエリ

+-----+-------+-----+---------+ 
| eno | ename | dno | salary |    
+-----+-------+-----+---------+ 
| 101 | sam | 1 | 1200.00 | 
| 102 | ram | 1 | 1300.00 | 
| 103 | alia | 1 | 2500.00 | 
| 104 | tina | 2 | 1300.00 | 
| 105 | avni | 2 | 1800.00 | 
| 106 | suraj | 2 | 2000.00 | 
| 107 | chris | 3 | 1500.00 | 
| 108 | ben | 3 | 2000.00 | 
| 109 | rina | 3 | 3300.00 | 
+-----+-------+-----+---------+ 

Dept table 
+-----+-------+-----------+ 
| dno | dname | location |   
+-----+-------+-----------+      
| 1 | csc | new delhi |         
| 2 | phy | mumbai | 
| 3 | chem | hyderabad | 
+-----+-------+-----------+ 

はノー部門を表示するには、クエリ を書きたいです。 、部署名、ここで

がDNOすべての部門の平均給与は、emp表 DNOでforiegnキーは、私は何度も試してみました

dept表の主キーですが、いつかエラー、時には間違った出力 ありですマイ希望出力は

+-----+-------+-------------+ 
| dno | dname | avg(salary) | 
+-----+-------+-------------+ 
| 1 | csc | 1666.6666 | 
| 2 | phy | 1700.0000 | 
| 3 | chem | 2266.6666 | 
+-----+-------+-------------+ 

答えて

0

です。これは古典的な「グループ別」の使い方です。これを試してみてください :ここ

select d.dno , d.dname, avg(salary) 
from employee e LEFT JOIN department d on e.dno=d.dno 
GROUP BY e.dno 
+0

は非常に多くのuをありがとう非常に –

0

はあなたのクエリは次のとおりです。

SELECT e.dno DNO, d.dname DNAME, AVG(e.salary) SALARY 
FROM emp e, dept d 
WHERE e.dno = d.dno 
GROUP BY DNO 
+0

をありがとう –