⑴ 求高手指导:sql 语言中 where语句后面 表名1.字段名=表名2.字段名 如何理解
有啊,那个是只有条件成立的列才回去连接,要是没条件的话那就进行了笛卡尔成绩
对
是多表查询,上面语句意思是t_student的s_number要和t_score的s_number相同,并且t_score的要和t_course的c_number相同,此Where执行3个相关表操作分别是t_student,t_score,t_score
在笛卡尔积中把符合连接条件的行保留下来作为结果
这就是用来多表关联的。比如表1有两个字段:Name,s_number;表2也有两个字段:score,s_number;如果想列出每个人的name和score,就要用到where
表名1.,s_number=表名2.,s_number
⑵ 解答 SQL 数据库 学生表 成绩表
(3) crate table score
(cid int,
Sid int,
Cname char(30),
Score_1 int,
Score_2 int,
Score_3 int,
)
这个有问题吧,一个课程编号只对应一个课程名称,一个学生的课程只有一个成绩,怎么你这里有三个成绩的。你可以把cid,sid同时在这个表设置成主键,这样cid和sid就可以唯一标示一个学生的一门课程的成绩了。
⑶ 如何使用sql语句查询两张字段数不同的两张表相同字段名并列出字段名
查询两张表中的数据可以采取连接和联合的方法来合并、组合来自不同表里的数据
,其中连接又可以有内连接、外连接和自然连接等多种形式,连接条件可以根据需要任易设置,亦可以对等连接也可以非对等连接,还可以组合使用逻辑运算符设置连接条件。具体的SQL语句必须捉供表结构和输出要求才能给出,语句形式的变化是多种多样的。
下面提供两例子供参考
1.学生表和成绩表查出每个学生的各科总分,要求列出学号,姓名和总分
select
a.学号,a.姓名,sum(b.分数)
as
总分
from
学生表
a,成绩表
b
where
a.学号=b.学号
group
by
b.学号;
2.将a,b两表的日产量记录合并输出
select
日期,产量
from
a
union
all
select
日期,产量
from
b;
⑷ sql server中的成绩字段的数据类型一般是什么
bit 整型
bit数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或False 、On 或Off。
注意:很省空间的一种数据类型,如果能够满足需求应该尽量多用。tinyint 整型
tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。这种数据类型在数据库中占用1 个字节.。
注意:如果bit类型太单调不能满足您的需求,您可以考虑用tinyint类型,因为这个类型相对也是比较安全的,不接受恶意脚本内容的嵌入。smallint 整型
smallint 数据类型可以存储从- 2的15次幂(-32768)到2的15次幂(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间.
注意:如果tinyint类型太单调不能满足您的需求,您可以考虑用smallint类型,因为这个类型相对也是比较安全的,不接受恶意脚本内容的嵌入。int 整型
int 数据类型可以存储从- 2的31次幂(-2147483648)到2的31次幂 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节。注意:如果smallint也不能够满足您的需求,您可以考虑用长度更大的int类型。
decimal 精确数值型 。
decimal 数据类型能用来存储从-10的38次幂-1到10的38次幂-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数。numeric 精确数值型
numeric数据类型与decimal 相似。smallmoney 货币型
smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一。money 货币型
money数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一 。
⑸ 用SQL创建一个学生表,课程表,学生成绩表
第一个表是学生表Student,包含三个字段,学生id(stu_id) 和 学生姓名(stu_name)和课程id(les_id)
Create Table [dbo].Student(
stu_id [uniqueidentifier] NOT NULL,
stu_name [nvarchar](425) NOT NULL,
les_id [uniqueidentifier] NOT NULL
)
第二个表课程表Lesson,两个字段,课程id(les_id)和课程名称(les_name)
Create Table [dbo].Lesson(
les_id [uniqueidentifier] NOT NULL,
les_name [nvarchar](425) NOT NULL
)
第三个表学生成绩表Score,三个字段课程id(les_id),学生id(stu_id)和课程得分(les_score)
Create Table [dbo].Score(
les_id [uniqueidentifier] NOT NULL,
stu_id [uniqueidentifier] NOT NULL,
les_score [int] NOT NULL
)
⑹ 用sql语句在“成绩表”中,添加一条记录,内容自定
insert into 成绩表(字段名1,字段名2,....)
VALUES(自定内容1,自定内容2.... )
字段和内容个数的相等 答案补充 你新插入的数据里面关键字有和已经有的数据重复 答案补充 每个输入再插入之前应该检查主键信息数据库中是否已经存在,如果存在,要修改一下插入主键的信息为数据库中没有的
⑺ sql修改表的字段名
SQL Server中修改字段名的语句是:sp_rename'表名.旧字段名','新字段名'
字段名name改为Snam的语句如下:sp_rename'test.name','sname'
⑻ 怎么使用SQL创建名为学生成绩表_交叉表的查询要用的字段有学号,姓名,课程名称,成绩
create table 学生成绩表 as select 学号,姓名,课程名称,成绩 from table1,table2
select后字段前加表别名
⑼ SQL语句怎样知道表的字段名例子
SELECT
*
FROM
`table_name`;
table_name为你要查的表名。这好像是个简单的问题,你要是有什么具体不懂的,详细说明下在什么情况下查询数据库,简单的sql语句菜鸟教程里都是有的,建议你多看看
⑽ 若学生表中存储了学号、姓名、成绩等字段,则“查询所有学生的姓名和成绩”的SQL语句是__________。
假设学生表名称为student,姓名字段名称是name,成绩的字段名称是score。
那么“查询所有学生的姓名和成绩”的SQL语句如下:
select student.name,student.score from student;
下面我们在SQL练习网站上测试一下我们的结果,首先进入测试网站SQL Fiddle
然后新建SQL表,最后写入执行语句。
(10)SQL成绩表的字段名扩展阅读:
SQL SELECT 语法
SELECT 列名称 FROM 表名称
以及:SELECT * FROM 表名称
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
SQL SELECT 实例
如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:
SELECT LastName,FirstName FROM Persons