由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
_PerfectMoms版 - 帮我看一下这个sql query
相关主题
我中奖了耶!MySQL COUNT() 问题.
烂事年年有,今年特别多请教SQL Query 面试题
这个问题的sql query为什么这样写?请帮忙回答一个SQL问题
怎么写这个Query,谢谢问一个Oralce index的问题
One sql question help!求解释
有懂SQL的筒子么?[转载] Can anyone interpret this simple SQL?
做 php 如何发展呢 ?请教怎么来log duration of a MYSQL procedure?
please help with this left join questionsql面试题目求指点
相关话题的讨论汇总
话题: cs话题: name话题: left话题: query话题: physics
1 (共1页)
I**A
发帖数: 2345
1
我又把自己绕糊涂了 (以前装的MYSQL又不知何处)。。
select d.dept_id, d.dept_name, count(*) as numemployees
from department d
left join employee e
where d.dept_id = e.dept_id
group by d.dept_id, d.dept_name
这个query返回的是
1 CS 0 (这儿是0麽????)
2 Physics 3
--------------------
department table
dept_id, dept_name
1, CS
2, Physics
Employee table
Emp_id, dept_id, Emp_name
001, 2, May
002, 2, June
003, 2, July
Left join 的结果应该是如下(还是应该还有一个column e.dept_id???)
d.dept_id, d.dept_name, e.emp_id, e.emp_name
1 CS
2
s*****a
发帖数: 3693
2
select d left join e on d.dept_id = e.dept_id

【在 I**A 的大作中提到】
: 我又把自己绕糊涂了 (以前装的MYSQL又不知何处)。。
: select d.dept_id, d.dept_name, count(*) as numemployees
: from department d
: left join employee e
: where d.dept_id = e.dept_id
: group by d.dept_id, d.dept_name
: 这个query返回的是
: 1 CS 0 (这儿是0麽????)
: 2 Physics 3
: --------------------

I**A
发帖数: 2345
3
同学
你这回答的是哪个问题啊?

【在 s*****a 的大作中提到】
: select d left join e on d.dept_id = e.dept_id
l*******m
发帖数: 3346
4
select d.dept_id, d.dept_name, count(*) as numemployees
from department d
left join employee e
on d.dept_id = e.dept_id
group by 1, 2
;
?

【在 I**A 的大作中提到】
: 我又把自己绕糊涂了 (以前装的MYSQL又不知何处)。。
: select d.dept_id, d.dept_name, count(*) as numemployees
: from department d
: left join employee e
: where d.dept_id = e.dept_id
: group by d.dept_id, d.dept_name
: 这个query返回的是
: 1 CS 0 (这儿是0麽????)
: 2 Physics 3
: --------------------

l*******m
发帖数: 3346
5
Maybe SS also mean you should change "where" to "on"?

【在 I**A 的大作中提到】
: 同学
: 你这回答的是哪个问题啊?

I**A
发帖数: 2345
6
啊,对!你是对的。。
这个query结果是什么?

【在 l*******m 的大作中提到】
: Maybe SS also mean you should change "where" to "on"?
I*****e
发帖数: 7085
7
1 CS 0
2 Physics 3
as you have written

【在 I**A 的大作中提到】
: 啊,对!你是对的。。
: 这个query结果是什么?

I**A
发帖数: 2345
8
hug
这个count(*)怎么理解?
尽管employee info为null, 可是left join之后还是有一个1 CS的record,咋就会是0
了呢?

【在 I*****e 的大作中提到】
: 1 CS 0
: 2 Physics 3
: as you have written

wy
发帖数: 14511
9
别理他。他一CEO懂个球啊

【在 I**A 的大作中提到】
: 同学
: 你这回答的是哪个问题啊?

s*****a
发帖数: 3693
10
当然不是0,如果你用where,那就是精确比较,所以结果是0,因为无人是
dept 1的。如果你用left join,那返回的count应该是1.
如果你想用left join,但同时又想返回0,那就应该用count(e.id)而不是
count(*)

0

【在 I**A 的大作中提到】
: hug
: 这个count(*)怎么理解?
: 尽管employee info为null, 可是left join之后还是有一个1 CS的record,咋就会是0
: 了呢?

g*******f
发帖数: 2590
11
星海教主冲出江湖了?

【在 s*****a 的大作中提到】
: 当然不是0,如果你用where,那就是精确比较,所以结果是0,因为无人是
: dept 1的。如果你用left join,那返回的count应该是1.
: 如果你想用left join,但同时又想返回0,那就应该用count(e.id)而不是
: count(*)
:
: 0

I**A
发帖数: 2345
12
我也是这样理解的。。
你确定不?可怜我没有SQL来测试

【在 s*****a 的大作中提到】
: 当然不是0,如果你用where,那就是精确比较,所以结果是0,因为无人是
: dept 1的。如果你用left join,那返回的count应该是1.
: 如果你想用left join,但同时又想返回0,那就应该用count(e.id)而不是
: count(*)
:
: 0

1 (共1页)
相关主题
sql面试题目求指点One sql question help!
sas base 70 key -errors有懂SQL的筒子么?
在实际工作MySQL query optimization的问题做 php 如何发展呢 ?
1. Oracle vs. SQL92 Re: Justplease help with this left join question
我中奖了耶!MySQL COUNT() 问题.
烂事年年有,今年特别多请教SQL Query 面试题
这个问题的sql query为什么这样写?请帮忙回答一个SQL问题
怎么写这个Query,谢谢问一个Oralce index的问题
相关话题的讨论汇总
话题: cs话题: name话题: left话题: query话题: physics