SqlServer2005怎么同时查询两个表的数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer2005怎么同时查询两个表的数据?相关的知识,希望对你有一定的参考价值。
我有两个表 create table info --学生信息表 ( stuID int primary key, --学号 stuName varchar(20) not null, --姓名 stuSex nchar(1) check(stuSex='男' or stuSex='女'), --性别 stuAge smallint not null, --年龄 stuClass varchar(10) not null, --班级 stuDate Smalldatetime not null, --出生年月 stuAddress varchar(20) not null, --出生地 ) create table score --学生成绩表 ( stuName varchar(20) not null, --姓名 cenji1 float --语文 cenji2 float --数学 cenji3 float --数学 ) 我想根据学生的姓名查询出学生的所有成绩和所有信息! 同时查询出两个表的内容! 请问Sql语句怎么写啊? 我的表设计有没有问题啊?
参考技术A selecta.*,
b.cenji1,
b.cenji2,
b.cenji3
from
info
a
left
join
score
b
on
a.姓名=b.姓名
where
姓名='张三' 参考技术B 1.第二个表有问题..没有
主键
..可以以
学号
为主键..也可以以int型为主键,自动递增.not
null
2.
(1).如果要查询出学生的所有信息,查询语句为:
//以条件为:姓名相同为条件,查询这两个表的所有信息
select
*
from
info
i
join
score
s
on
(i.stuName=s.stuName);
(2).如果以学号为主键设置的话,查询语句有两种为:
第一种为上面那句:
//以条件为:姓名相同为条件,查询这两个表的所有信息
select
*
from
info
i
join
score
s
on
(i.stuName=s.stuName);
第二种为:
//以条件为:主键学号和姓名相同为条件,查询这两个表的所有信息
select
*
from
info
i
join
score
s
on
(i.stuID=s.stuID)
where
i.stuName=s.stuName;
(3).如果是自动生成的int类型为主键的话,方法也为上面那一种方法就可以的了..
//以条件为:主键学号和姓名相同为条件,查询这两个表的所有信息
select
*
from
info
i
join
score
s
on
(i.stuID=s.stuID)
where
i.stuName=s.stuName;
记得采纳啊
SqlServer如何查询表的列数
select count(name) from syscolumnswhere id=( select id from sysobjects where name='表名' and xtype='U')
说明:select id from sysobjects where name='表名' and xtype='U' 从sysobjects 里查询表类型为U(非系统)的表的id ,假设查到的是 1002 ;
select count(name) from syscolumns where id=1002 查的是系统列syscolumns 里表id是1002的列数。
你可以随便建个表,然后分步运行这两句看看 参考技术A select count(*) from sysobjects a join syscolumns b
on a.id=b.id
where a.name='表名'本回答被提问者和网友采纳 参考技术B select a.name as tablename,COUNT(1) as columncount from sysobjects a join syscolumns b
on a.id=b.id
where a.type='u' group by a.name 参考技术C select o.name [表名称],c.name [列名称],* from sys.all_columns c left join sys.all_objects o on c.object_id=o.object_id
where o.type_desc like 'USER_TABLE' 参考技术D select count(*) from 数据表名称;
以上是关于SqlServer2005怎么同时查询两个表的数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何同时查询SQLServer数据库中两个结构完全相同的数据表中的同一字段的值?
请教SQLite与SQLServer两个数据库数据互导的问题