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 select
a.*,
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 syscolumns
where 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数据库中两个结构完全相同的数据表中的同一字段的值?

SQL Server 2005 - 内部联接的顺序

请教SQLite与SQLServer两个数据库数据互导的问题

sql server 2005 一个索引多个字段,字段的排列顺序对搜索有啥影响??

sqlserver 同时查询多表数据

Sql Server2005数据库怎么查看视图里的字段。