回 帖 发 新 帖 刷新版面

主题:一个幼稚的查询语句!

两张表:

公司表:
company_table(
    id int 
    company_name varchar    
)

员工表
user_table(
    id int
    user_name varchar
    company_id int --关联公司表的ID
    password varchar
)

怎么取得各个公司所有的员工信息!
一条SQL语句!

回复列表 (共2个回复)

沙发

select u.id '用户编号',u.user_name '用户姓名',u.password '用户密码',c.company_name '公司名称'
from user_table as u,company_table as c 
where u.company=c.id;

板凳

我不清楚楼主的需求是要一次查出任何一个确定公司的员工还是要一次性把所有各个公司的员工都查出来:
如果是第一种情况:
select company_name as '公司名称',user_name as '员工名称'
from   company_table, user_table
where  company_table.id=user_table.company_id and company_name='腾讯'
执行结果(假设的):
 公司名称  员工名称
 腾讯      张三
 腾讯      李四
 腾讯      王麻子
----------------------------------------------------------------------
如果是第二种情况:
select company_name as '公司名称',user_name as '员工名称'
from   company_table, user_table
where  company_table.id=user_table.company_id 
group by company_name 
执行结果(假设的):
 公司名称  员工名称
 腾讯      张三
 腾讯      李四
 腾讯      王麻子
 微软      比尔盖茨
 微软      Authorbilit
 中国石化  小明
 中国石化  小张
 中国石化  小高

我来回复

您尚未登录,请登录后再回复。点此登录或注册