两道数据显示库面试题

独孤帆 2010-05-13 06:48:46
1、
表A(我忘了叫啥名了,将就吧)有字段:userid,username
表B有字段:userid,password,email
查询username叫"Tom"的用户的password和email

(好像是考察多表查询,给了一条SQL语句让你补全,我没记错的话就是下面这条,如果我记错了大家就忽略它好了
select password,username from A,B_____)


2、表city
id cityname provinceid
1 广州 1
2 珠海 1
3 深圳 1
4 武汉 2
5 厦门 3

……
表province
proid provincename
1 广东
2 湖北
3 福建
……


(1)用一条SQL语句把两个表建立关系
(显示: id 城市 省)

(2)用group by查询每个省有多少个市


PS:程序员到底要掌握多深的SQL语句才能找到工作啊
...全文
130 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
cosmo_sei 2010-05-15
  • 打赏
  • 举报
回复
还真有这样的应聘试题,当年我就做了这样的试题。。。
不过,招的是.net/java开发
永生天地 2010-05-14
  • 打赏
  • 举报
回复
路过 蹭分 帮顶 学习
gwt0729 2010-05-14
  • 打赏
  • 举报
回复
大学考试题都不能这么简单啊
v1ctory1216 2010-05-14
  • 打赏
  • 举报
回复
蹭分,帮顶
zhengtw 2010-05-14
  • 打赏
  • 举报
回复
SELECT password, username FROM A, B WHERE A.userid = B.userid AND A.username = 'Tom'

SELECT city.id, city.cityname, province.provincename
FROM city, province
WHERE city.provinceid = province.proid

SELECT COUNT(city.id), province.provincename
FROM city, province
WHERE city.provinceid = province.proid
GROUP BY province.provincename
我是小数位 2010-05-14
  • 打赏
  • 举报
回复
恩,这面试题就爽了!
zhulinziabc 2010-05-14
  • 打赏
  • 举报
回复
多表查询都是按格式来填就对了
独孤帆 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dawugui 的回复:]
引用 7 楼 cgzchf 的回复:
引用 6 楼 dawugui 的回复:
SQL code


2.1
select m.id ,m.cityname,isnull(n.provincename,'') from city m left join province n on m.……

他说要一条语句建立关系哦

何为叫建立关系?
然后又是(显示: id 城市 省)?
[/Quote]
知道的话当时我就做了……
akuan956 2010-05-14
  • 打赏
  • 举报
回复
这是考试题还是面试题?
dawugui 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cgzchf 的回复:]
引用 6 楼 dawugui 的回复:
SQL code


2.1
select m.id ,m.cityname,isnull(n.provincename,'') from city m left join province n on m.……

他说要一条语句建立关系哦
[/Quote]
何为叫建立关系?
然后又是(显示: id 城市 省)?
独孤帆 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dawugui 的回复:]
SQL code


2.1
select m.id ,m.cityname,isnull(n.provincename,'') from city m left join province n on m.……
[/Quote]
他说要一条语句建立关系哦
dawugui 2010-05-13
  • 打赏
  • 举报
回复

1

select b.password,a.username from A,B where a.userid = b.userid and a.username = 'Tom'

2.1
select m.id ,m.cityname,isnull(n.provincename,'') from city m left join province n on m.provinceid = n.proid
select m.id ,m.cityname,n.provincename from city m , province where on m.provinceid = n.proid

2.2
select m.provincename , isnull(count(1),0) from province m left join city n on m.proid = n.provinceid group by m.provincename
select m.provincename , count(1) from province m , city n where m.proid = n.provinceid group by m.provincename
fanzhouqi 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wellnj 的回复:]
哇 好简单 !
[/Quote]up
无语孩童 2010-05-13
  • 打赏
  • 举报
回复
哇 好简单 !
lon123 2010-05-13
  • 打赏
  • 举报
回复
第二题,直接写的,应该是没错
select province.id, province.name, count(city.id) from city
inner join province on city.province.id=province.id
group by province.id,province.name, count(city.id)
SQL77 2010-05-13
  • 打赏
  • 举报
回复
ALTER TABLE city ADD CONSTRAINT FK_province_CITY FOREIGN KEY (provinceid)
REFERENCES province(proid)
SQL77 2010-05-13
  • 打赏
  • 举报
回复
select password,username from A,B_____)where a.userid=b.userid
?

这面试题目就爽了

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧