sql语句,表连接。用sql语句按男女分类统计各科的总成绩和平均成绩

作者&投稿:宓咱 (若有异议请与网页底部的电邮联系)
用SQL语句查询各门课程的平均成绩,结果按平均成绩排序·~

创建表:
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[stuscore]
( [name] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[subject] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[score] [int] NULL,
[stuid] [int] NULL)
ON [PRIMARY]
GO
SET ANSI_PADDING OFF
插入数据:
insert into dbo.stuscore values ('张三','数学',89,1);
insert into dbo.stuscore values ('张三','语文',80,1);
insert into dbo.stuscore values ('张三','英语',70,1);
insert into dbo.stuscore values ('李四','数学',90,2);
insert into dbo.stuscore values ('李四','语文',70,2);
insert into dbo.stuscore values ('李四','英语',80,2);
查询结果如下:

列出各门课程的平均成绩:
select subject,AVG(score)平均成绩 from stuscore group by subject;

没给出表格结构,只能作如下假设:
字段所在的表是score表
语文的字段是:chinese double
英语的字段是:english double
学生号ID的字段是:sid int
要查询的学生ID为9
可以用下面的语句来获得:
select sid,(chinese + english) as total,(chinese + english)/2 as avge from score where sid =9
更多门课程可以扩展.

建议你先创建个视图。 create view xs_cj as ( select xs.xm,xs.xb,xs.rxsj,cj.xyw,cj.sx,cj.yy from xs inner join cj on xs.xm=cj.xm ); 然后查询: select xb, sum(yw) 'sum(yw)',sum(sx)'sum(sx)',sum(yy) 'sum(yy)', avg(yw) 'avg(yw)',avg(sx)'avg(sx)',avg(yy) 'avg(yy)' from xs_cj group by xb ;

这样写OK?
select xb 性别,SUM(yw) 语文总分,SUM(sx) 数学总分,SUM(yy) 英语总分,AVG(yw) 语文平均分,AVG(sx) 数学平均分,AVG(yy) 英语平均分 from xs left join cj on xs.xm=cj.xm group by xb


求一句sql语句 同时在多个字段中进行查询的
select * from TableName where dbo.MyFun(keyword)=1 如果你的表的列是无限增长列(我遇到过),那就不能这样用,建议还是定义一个表内列游标,将要比较的所有列强制转换成字符串合并;再进行字符串比较,但专业就有点……如果还不能解决你的问题,可以发信息给我,我们再一起讨论一下。

在vb.net中,用DataGridView列不含重复的记录
你用distinct xm,结果肯定只显示一行 你试试 select * distinct xm from...或者select distinct xm,pn,nd,ql from..我不敢肯定,你试试,如果不行,你去网上下载一个sql语法大全。

qlsql可以打开db的文件吗
可以。如果是数据库,是由于数据库无法识别监听,可以使用plsql看是否能使用db.properties文件中的配合进行连接数据库,PL\/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language\/SQL)。PL\/SQL是Oracle数据库对SQL语句的扩展。

写出创建如下三张数据表的SQL语句。
在SSMS中,用【创建表】来设计,包括约束;然后保存,选中该新表,右键【编写表脚本】,SQL就有了项目”表结构:项目号:普通编码定长字符类型,长度为10,主键。项目写出创建如下三张表的sQL语句。按照要求用SQL语句创建表格:选课表:表名——SC属性:Sno字符型,最大7个字符表示学生学号。Cno字符型,...

mysql导出成sql脚本的sql语句,是sql语句
1、准备SQL脚本文件。2、点击开始->运行。3、输入cmd打开控制面板。4、输入start mysqld启动MySQL服务器。5、输入mysql -uroot -p。6、输入‘source 文件地址’。7、执行成功后输入select * from users;数据已经插入。注意事项:使用命令行的形式来执行mysql的SQL脚本,不仅可以提高对数据库的了解,还...

pgqldroptable会删除序列码
会的。DROPTABLE会完全删除该表,并且还会删除所有数据。如果要完全删除所有数据并需要表结构,则可以使用TRUNCATETABLE命令。TRUNCATE命令将重新创建表。让我们首先检查DROPTABLE。为此,我们将首先创建一个表,使用插入命令在表中插入一些记录,使用select语句显示表中的所有记录,这将产生以下输出,现在,使用...

DTQL 是什么意思?
DTQL(Dgraph Tour Query Language)是一种基于图数据库Dgraph的查询语言。它具有强大的查询功能,在处理复杂数据上效率和速度都非常高。它支持对数据的高级过滤和排序,能够快速找出特定数据的相关信息。DTQL还可以进行多个表之间的关系查询,方便您在数据中找到相关联的实体。DTQL允许用户利用查询语句来获取...

存储过程 接的sql语句不执行
SET @stql = 'insert into tblName values(' + CONVERT(VARCHAR,@ID) + ',' + @value +')'

EJB QLejb ql查询语言的基本概念
EJB QL,全称为EJB 2.0 Query Language,是为解决EJB 1.0\/1.1中cmp组件查询语言缺乏统一规范的问题而提出的。在早期版本中,ejb容器如WebLogic 5.1,如其特有的查询语言wlql,使得cmp组件的查询语句依赖于容器的自定义规范,这导致了在部署环境变化时,组件代码需要随之调整,降低了组件的可移植性。

请问下qls语句中,存在怎么写?
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[a1]') AND type in (N'U'))BEGIN CREATE TABLE [dbo].[a1]([a] [int] NOT NULL,[b] [nchar](10) NULL,[c] [int] NULL,CONSTRAINT [PK_a1] PRIMARY KEY CLUSTERED ([a] ASC )WITH (IGNORE...

铜仁市15943357285: sql语句如何实现多个表的自然连接? -
褚追精制: inner join 只显示符合条件的数据行,此为默认的join方式,inner 可以省略;left join 显示符全条件的数据行及左边数据表中不符合条件的数据行;right join 显示符全条件的数据行及右边数据表中不符合条件的数据行;full join 显示符全条件的数据行及左边和右边数据表中不符合条件的数据行;cross join 直接将一个数据表的每一条数据行和另一个数据表的每一条数据行搭配成新的数据 行,不要on 来设置条件.具体要看你需要哪种连接.

铜仁市15943357285: 如何用SQL语句的查询实现两个表之间的查询连接 -
褚追精制: 一、用连接查询: SELECT * FROM Student INNER JOIN Score ON Cno=2 AND Grade>=90 二、用子查询: SELECT * FROM Student WHERE Sno IN( SELECT Sno FROM Score WHERE Cno=2 AND Grade>90)

铜仁市15943357285: 已经建立了两个表,请问如何用SQL语句建立关联? -
褚追精制: 很简单,几乎对所有的数据库,都是 WHERE a.sno = b.sno,其中,a 和 b 是两张表的别名.即,SELECT * FROM student a, score b WHERE a.sno = b.snoa 和 b 我不是说了吗,是两张表的别名,纯粹是方便而用的,你可以写成其他的,比如 t1,t2,随便你,不过在 Select 字段时,要把 a.字段名 改成 t1.字段名,b.字段名改成 t2.字段名就是了.

铜仁市15943357285: 如何用一个sql分别从两个表中查询数据 -
褚追精制: sql语句从一张表中查询数据插入到另一张表中的方法如下: 1、select * into destTbl from srcTbl. 2、insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl.以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的:第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建.第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量.

铜仁市15943357285: 求赐我一条SQL语句,两表数据拼接SQL语句怎么写? -
褚追精制: Create table A (Id1 varchar(10),Id2 varchar(10))GOCreate table B (Id1 varchar(10),Id int)GoInsert Into ASelect 'A','A1' union allSelect 'B','B1' union allSelect 'C','C1' union allSelect 'D','D1' union allSelect 'E','E1'Insert into BSelect 'A',1 union allSelect ...

铜仁市15943357285: 如何用数据库sql语句实现以下的两张表的连接呢? -
褚追精制: 用全连接:full join, 效率比union高 SELECT NVL(A.name,B.name) AS NAME,NVL(A.list_a,0) AS list_a, NVL(B.list_b,0) AS list_b FROM table_a A full join table_b B ON A.name=B.nameNVL作用,参数1为空时取参数2的值 望采纳,不懂可以问.

铜仁市15943357285: 数据库SQL语句~四表连接 -
褚追精制: 内连接可能会漏掉数据,所以一定要用左连接才能确保不漏掉数据.SELECT t1.学号, t1.姓名, t3.奖项名称, t3.奖金, t4.惩罚名称 FROM 学生基本信息表 t1 LEFT JOIN 惩奖情况表 t2 ON t1.学号 = stu.学号 LEFT JOIN 奖项表 t3 ON t2.奖项编号 = t3.奖项编号 LEFT JOIN 惩罚表 t4 ON t2.惩罚编号 = t4.惩罚编号

铜仁市15943357285: 关于数据库两表之间用SQL语句实现数据整合 -
褚追精制: 关于数据库两表之间用SQL语句实现数据整合 用全连接:full join, 效率比union高 SELECT NVL(A.name,B.name) AS NAME,NVL(A.list_a,0) AS list_a, NVL(B.list_b,0) AS list_b FROM table_a A full join table_b B ON A.name=B.name NVL作用,参数1为空时取参数2的值

铜仁市15943357285: 怎样用sql语句在sqlserver建表 和插入数据~ -
褚追精制: create table 表名 ( 列名1 类型, 列名2 类型, 列名3 类型, .... ) 插入数据 INSERT INTO 表(列名1, 列名2,...) VALUES (值1, 值2,....)sqlserver2000 中首先打开查询分析器→连接数据库→选择需要插入表的数据库→执行脚本

铜仁市15943357285: 如何实现多张表的sql语句拼接 -
褚追精制: 1、inner join ...on2、left out join3、right out join1,的方法可以N个表连接.2和3只能两表连接,以一个表为基准,另外的表无数据时用null填充.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网