首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Access >

SQL查询语句。升级版

2012-04-06 
SQL查询语句求助。升级版有两个表,一个表放学生的一般信息,比如,姓名(唯一不重复)、年龄、性别、籍贯。张三 20

SQL查询语句求助。升级版
有两个表,
一个表放学生的一般信息,比如,姓名(唯一不重复)、年龄、性别、籍贯。

张三 20岁 男 北京
李四 21岁 男 天津
王五 20岁 女 上海

另一个表放学生的选修课程情况(每个学生选修科目和数量都不一定相同),比如姓名,学科,分数
张三 语文 90分
张三 数学 80分
李四 数学 70分
李四 英语 60分
李四 地理 90分
王五 语文 90分
王五 历史 80分

我想查询的结果是:
查询到既选修了语文,又选修了数学,同时籍贯为北京的同学的基本信息(姓名、年龄、性别、籍贯),当如何写?
谢谢!

[解决办法]

SQL code
select *--指定显示列from t1 as ainner join t2 as b on a.姓名=b.姓名 inner join t2 as c on c.姓名=a.姓名where t1.籍贯=N'北京' and b.科目='语文' and c.科目='数学'
[解决办法]
SQL code
select *from t1 as a inner join t2 as b on a.姓名=b.姓名where b.科目='语文' and exists(select 1 from t2 where 姓名=b.姓名 and c.科目='数学')
[解决办法]
SQL code
select a.*from (一个表放学生的一般信息 a inner join 另一个表放学生的选修课程情况 b1 on a.姓名=b1.姓名)    inner join 另一个表放学生的选修课程情况 b2 on a.姓名=b2.姓名where b1.学科='语文' and b2.学科='数学文'and 籍贯='北京' 

热点排行