① 怎么用sql查询结果的会计科目 显示包括上级科目名称
字段里面添加子查询获取上级科目,再用concat函数拼接自己的会计科目,整个查询sql应该是select id,concat((select name from 表名 where id = left(a.id)limit 1),“\”,a.name) from 表名 a。
② 怎么用SQL语句查询每个学生选修的课程名及其成绩
查询选修了全部课程的学生姓名
:student是学生表course是选课表sc是课程表
selectsname
fromstudent
wherenotexists
(select*
fromcourse
wherenotexists
(select*
fromsc
wheresno=student.sno
andcno=course.cno)
③ 怎样用SQL语句查询一个数据库中的所有表
1、打开Microsoft SQL Server 2012,选中需要查询所有表的数据库。
④ SQL 查询将学生成绩按照科目进行查询,SQL语句怎么写
selectsname,
max(casewhensubject='.NET'thenscoreend)[.NET],
max(casewhensubject='JAVA'thenscoreend)[JAVA],
max(casewhensubject='HTML'thenscoreend)[HTML]
from表名
groupbysname
表名替换下
⑤ 查询每个学生的各科成绩sql语句
1、查询每个学生的各科成绩sql语句:
select a.studentid,a.name,a.sex,v1.score as '语文',v2.score as '数学', v3.score as '英语',v4.score
as ‘哲学’, (v1.score+v2.score+v3.score+v4.score)/4 as ‘平均成绩’ from Stuednt a
left join
(select studentid,score from grade where cid=(select cid from course where cname='语文'))as v1
on a.studentid=v1.studentid
left join
(select studentid,score from grade where cid=(select cid from course where cname='数学'))as v2
on a.studentid=v2.studentid
left join
(select studentid,score from grade where cid=(select cid from course where cname='英语'))as v3
on a.studentid=v3.studentid
left join
(select studentid,score from grade where cid=(select cid from course where cname='哲学'))as v4
on a.studentid=v4.studentid
order by a.studentid
2、sql数据库介绍:
(1)SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出"做什么"的命令,"怎么做"是不用使用者考虑的。
(2)SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
(3)SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。
(4)在SQL中,关系模式(模式)称为"基本表"(base table);存储模式(内模式)称为"存储文件"(stored file);子模式(外模式)称为"视图"(view);元组称为"行"(row);属性称为"列"(column)。
⑥ sql 按科目查询查询
CREATE TABLE [Test] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[subject] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Source] [numeric](18, 0) NULL
) ON [PRIMARY]
GO
INSERT INTO [test] ([name],[subject],[Source]) values (N'张三',N'语文',60)
INSERT INTO [test] ([name],[subject],[Source]) values (N'李四',N'数学',70)
INSERT INTO [test] ([name],[subject],[Source]) values (N'王五',N'英语',80)
INSERT INTO [test] ([name],[subject],[Source]) values (N'王五',N'数学',75)
INSERT INTO [test] ([name],[subject],[Source]) values (N'王五',N'语文',57)
INSERT INTO [test] ([name],[subject],[Source]) values (N'李四',N'语文',80)
INSERT INTO [test] ([name],[subject],[Source]) values (N'张三',N'英语',100)
Go
交叉表语句的实现:
--用于:交叉表的列数是确定的
select name,sum(case subject when '数学' then source else 0 end) as '数学',
sum(case subject when '英语' then source else 0 end) as '英语',
sum(case subject when '语文' then source else 0 end) as '语文'
from test
group by name
⑦ SQL学生表,科目表,成绩表,怎么查每个人各科目的总分
为什么都不喜欢给表结构
看我强大的想象能力~~
select sum(分数) as 总分,
(select 学生姓名 from 学生表 where a.学生id = 学生表.学生id),
(select 科目名称 from 科目表 where a.科目id = 科目表.科目id),
from 成绩表 a
group by a.学生id,a.科目id
⑧ sql语句科目表学生表和成绩表的查询
每科的总成绩?查询它干什么?要查的话这样查:
SELECT 科目表.KUMUID,KUMUName,SUM(CHENJI) AS SUM_CHENJI,AVG(CHENJI) AS AVG_CHENJI
FROM 科目表,成绩表
WHERE 科目表.KUMUID=成绩表.KUMUID
GROUP BY 科目表.KUMUID,KUMUName
由于是查每科的总成绩和平均分,所以和学生没有关系,不用关联学生表
----------------------------------------------------------------
不过我怀疑你是不是想查每个学生的总成绩和平均分,是这样查的:
SELECT 学生表.UID,UName,SUM(CHENJI) AS SUM_CHENJI,AVG(CHENJI) AS AVG_CHENJI
FROM 学生表,成绩表
WHERE 学生表.UID=成绩表.UID
GROUP BY UID,UName
=========================================================
对于楼主的补充的回答:
你所要的SQL语句我已经写了,这个查询由于是查询每个科目的总成绩,所以不需要查询学生的姓名,所以不应关联学生表。只需要用成绩表关联科目表(目的是查询出科目的名称)。然后直接使用分组汇总(就是用 GROUP BY 子句和SUM、AVG两个聚合函数实现的)。
分组查询是一种最基本的查询,现在的主流数据库都支持它。所以每一个学习数据库的人都应该很好的理解它。
⑨ 怎样用SQL语句查询一个数据库中的所有表
查询一个数据库中的所有表sql语句是show tables;
显示所有数据库的命令是:show databases;要查看某个数据库先要进入数据库使用user <数据库名>命令;进入数据库之后才能查询数据库中有哪些表。使用以下命令即可查出所有表:
show tables;
(9)sql语句科目表查询扩展阅读
mysql数据库的基本sql操作命令介绍:
1、显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES;
2、建立数据库:mysql> CREATE DATABASE 库名;
3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字
名 CHAR(1));
4、删除数据库:mysql> DROP DATABASE 库名;
5、删除数据表:mysql> DROP TABLE 表名;
6、将表中记录清空:mysql> DELETE FROM 表名;
7、往表中插入记录:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中数据:mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式将数据装入数据表中:mysql> load data local infile "d:/mysql.txt" into table 表名;
10、导入.sql文件命令:mysql> USE 数据库名;mysql> source d:/mysql.sql;
⑩ sql语句,在grade表中查询学习各门课程的人数。怎么写
摘要 您好,下面由我为您解决您的疑虑,希望可以帮助到您。