SQL server数据库里查询时新建查询怎么进行多表查询

SQL server数据库里查询时新建查询怎么进行多表查询,第1张

首先要检查你的表与表之间是不是有约束(主外键约束),如果存在,才可以像 上面这位朋友的方式进行连接,一般连接有左连接、右连接、内连接,下面给你举例:

----做笛卡尔积

select sid,sname,scid,scsname,scscore from infom s ,score sc

------内连接 写法一

select sid,sname,scid,scsname,scscore

from infom s ,score sc inner join score sc

on sid= scid ------内连接的条件

------on sid <>scid --------是全集 - 交集

------where scscore>80

------内连接 方法二

select sid,sname,scid,scsname,scscore

from infom s ,score sc

where sid= scid

------

-------------------------------------------------------外连接 左连接

--------------左表数据完全显示,右表中相同的数据显示,不同数据null

select Studentname,scorescore

from Student left join score -----------------先写的为左表

on Studentid=score id -----------------连接条件

-------------------------------------------------------外连接 右连接

--------------右表数据完全显示,左表中相同的数据显示,不同数据显示null

select Studentname,scorescore

from Student right join score

on Studentid=score id

-------------------------------------------------------全连接 full join

-------------------------------------------------------左、右表的数据完全显示,相同的数据显示一次

select Studentname,scorescore

from Student full join score

on Studentid=score id

-------------------------------------------------------交叉联接

------------------------------------------交叉联接得到的是两表联接所有的数据组合

------------------------------------------(A表的数据记录 B 表的数据记录)

-------------------------------------------方式一

select Student,score from Student,score

-------------------------------------------方式二

select score ,Student from Student

cross join score

-----------------------------------------------------多表联接

--------------------------------------要求查出张三 C#的考试成绩,涉及student,score,subject三个表

---------方式一:

select studentname,subjectsname ,score score

from Student

inner join score

on studentid= scoreid

inner join subject

on scoreid=subjectid

where Studentname='张三' and subjectsname='C#'

---------方式二:等值联接

select studentname,subjectsname ,score score

from Student,score ,subject

where StudentDBid=scoreid and score id=subjectid

and Studentname='张三' and subjectsname='C#'

1.首先在计算机上打开已建立的数据库度数和数据表,点击“创建”——查询设计,如下图。

2.然后,在d出的显示表窗口中,单击表的选项卡下的A,然后单击add按钮。

3.接下来,双击添加表A中的跟踪名称和年龄。

4 之后,在字段的年龄条件框中输入“<20”。

5.然后,在组成内部表的窗口中单击当前数据库,编辑表名,然后单击右上角的ok按钮。

6.最后,如图所示,对于小于20的数据,将生成一个单独的数据表。

将女员工编号第一个字符更改为1,需要用更新查询,即update语句。

工具:access 2013

步骤:

1、access中有tTemp表,数据如下:

2、写一个查询,将性别为女的员工的编号首位改成1,用如下语句:

update tTemp set 编号='1'+mid(编号,2,len(编号)-1) where 性别='女'

其中设计视图为:

3、更新后结果如下,可以看出性别为女的员工编号首位为1了:

首先想的就是要把同一类的数据放在一个表中,然后给这个表取个一目了然的名字,这样管理起来会方便得多但是另一方面,我们在实际工作中使用数据库中的数据时,并不是简单地使用这个表或那个表中的数据,而常常是将有“关系”的很多表中的数据一起调出使用,有时还要把这些数据进行一定的计算以后才能使用查询对象如果再建立一个新表,把要用到的数据拷贝到新表中,并把需要计算的数据都计算好,再填入新表中,就显得太麻烦了用“查询”对象可以很轻松地解决这个问题,它同样也会生成一个数据表视图,看起来就像新建的“表”对象的数据表视图一样查询的优点“查询”的字段来自很多互相之间有“关系”的表,这些字段组合成一个新的数据表视图,但它并不存储任何的数据当我们改变“表”中的数据时,“查询”中的数据也会发生改变计算的工作也可以交给它来自动地完成,完全将用户从繁重的体力劳动中解脱出来,充分体现了计算机数据库的优越性常见的查询种类选择查询交叉查询 *** 作查询参数查询选择查询选择查询就是从一个或多个有关系的表中将满足要求的数据提取出来,并把这些数据显示在新的查询数据表中其他的方法,像“交叉查询”、“ *** 作查询”和“参数查询”等,都是“选择查询”的扩展例子:订单查询现在我们建立一个“订单”查询,建立这个查询就是为了将每份订单中的各项信息都显示出来,包括“订单号”、“订货公司”、“货品名称”、“货物单价”、“订货数量”、“订货金额”、“经办人”和“订货时间”这些字段 1查询准备首先要在Access中打开“客户订单数据库”,然后单击“对象”列表中的“查询”项,并在创建方法列表中单击“在设计视图中创建查询”项 因为下面的 *** 作都是在对“查询”这个对象进行 *** 作,所以要将当前的对象切换到“查询”对象上 2选择需要查询的表

单击“在设计视图中创建查询”后,屏幕上出现“查询”窗口,它的上面还有一个“显示表”对话框。在上一课“建立表之间的关系”中曾经提到过“显示表”对话框。单击“显示表”对话框上的“两者都有”选项,在列表框中选择需要的表或查询。“表”选项卡中只列出了所有的表,“查询”选项卡中只列出了所有的查询,而选择“两者都有”就可以把数据库中所有“表”和“查询”对象都显示出来,这样有助于我们从选择的表或查询中选取新建查询的字段。

单击所需要的表或查询,然后单击对话框上的“添加”按钮,这个表的字段列表就会出现在查询窗口中。将“客户订单数据库”中的“订单信息表”和“产品信息表”都添加到查询窗口中。添加完提供原始数据的表后,就可以把“显示表”窗口关闭,回到“查询窗口”中准备建立“查询”了。 “表/查询显示窗口”显示查询所用到的数据来源,包括表、查询。窗口中的每个表或查询都列出了它们的所有字段,这样一目了然,方便了我们选择查询字段 示例查询窗口则是用来显示查询中所用到的查询字段和查询准则

3为查询添加和删除目标字段

现在我们就要往查询设计表格中添加字段了。所添加的字段叫做“目标字段”,向查询表格中添加目标字段有两种方法:

第一种方法可以在表格中选择一个空白的列,单击第一行对应的一格,格子的右边出现一个带下箭头的按钮,单击这个按钮出现下拉框,在下拉框中就可以选择相应的目标字段了,选中表“订单信息表”中的“订单号”字段

如果在几个表中都有同样的字段,要怎么区分呢?当我们在查询表格的第一格的下拉框中寻找对应目标字段时,在字段前面都有字段所在的表格/查询名,像“订单信息表产品名称”字段就表示它是“订单信息表”中的“产品名称”字段。而不是别的表或查询中的“产品名称”字段。这样就不会混淆了

第二种方法更简单,如果要添加“订单信息表”中的“订货单位”字段,就先选中“订单信息表”这个表,然后在它的列表框中找到需要的字段“订货单位”,将鼠标移动到列表框中标有这个字段的选项上,按住鼠标左键,这时鼠标光标变成一个长方块,拖动鼠标将长方块拖到下方查询表格中的一个空白列,放开鼠标左键,这样就完成了将“订单信息表”中的“订货单位”字段添加到查询表格中了

在“表/查询”窗口中如果有很多对象时,这种方法就比第一种方法显得方便多了

如果要删除一个目标字段,将鼠标移动到要删除的目标字段所在列的选择条上,光标会变成一个向下的箭头,单击鼠标左键将这一列都选中,敲击键盘上的“DELETE”键,选中的目标字段就被删除了

4查询的数据表视图

将表切换到数据表视图,就可以看到“查询”结果了

在Access中,在几个视图之间切换是非常简单的。只要将鼠标移动到工具栏左上角的第一个工具按钮处,就会d出一个“视图”提示标签,单击它就可以从查询设计视图切换到数据表视图

查询的数据表视图看起来很像表,但它们之间还是有很多差别的

在查询的数据表中虽然不能插入列,但是可以移动列,而且在查询的数据表中也可以改变列宽和行高,还可以隐藏和冻结列

在查询数据表中无法加入或删除列,而且不能修改查询字段的字段名。这是因为由查询所生成的数据值并不是真正存在的值,而是动态地从表对象中调来的,是表中数据的一个镜像

查询只是告诉Access需要什么样的数据,而Access就会从表中查出这些数据的值,并将它们反映到查询数据表中来罢了,也就是说这些值只是查询的结果

我们刚才选择目标字段就是告诉Access需要哪些表、哪些字段,而Access会把字段中的数据列成一个表反馈给我们

在查询中还可以运用各种表达式来对表中的数据进行运算生成新的查询字段

5汇总数据

现在的数据表还没算出每份订单所涉及的“销售总金额”,我们可以在查询中使用表达式来计算。先在查询的设计窗口中添加一个目标字段,就是查询数据表中最后的“销售总金额”字段,因为这个字段不在任何一个表中,所以必须手动将它输入到查询表格的一个空列中

在列的字段行首先输入“销售金额”,然后输入“:”(注意必须输入英文模式下的“:”),接着输入“[产品信息表]![产品单价][订单信息表]![订货数量]”,现在再切换到查询的数据表视图看看结果,查询新增了“销售总金额”列,并且自动算出了每份订单中涉及的金额

写计算表达式的时候必须注意它的格式,首先是字段名称,接着是“:”然后是表达式的右边部分,在用到本查询中的目标字段时,必须将字段名用方括号括起来,在字段名前面加上“[所用表的表名]!”符号来表示它是哪个表中的字段

刚才说的都是一些简单的计算,如果要对数据进行一些复杂的计算,要计算十几个值,都这么写会很麻烦,而且如果要取某个值开方后的值,就写不出了

为了完成更多更复杂的计算,Access提供了一个专用的“表达式生成器”,它的具体使用方法将在下一课里讲

6保存新建的查询

该做的差不多都做完了,我们把新建的查询保存起来吧

在主菜单上单击“文件”菜单中的“保存”命令,如果是第一次存储这个查询,在屏幕上就会d出一个对话框,询问如何命名这个查询:7利用简单表查询向导建立查询

首先用鼠标单击数据库窗口的新建按钮,屏幕上d出“新建查询”窗口,在列表框中选择“简单查询向导”,然后单击“确定”按钮。在出现的简单查询向导窗口上,选择新建查询中需要用到的字段名称。由于这些字段可能在不同的表或查询中,先要在表/查询下拉框的下拉菜单中选择需要的表或查询,这时在可用字段列表框中的字段就是所选择的表或查询中的全部可用字段了。用鼠标单击选中需要的“字段”,再单击“向左移”或“向右移”按钮就可以将这个选项作为新建查询中的一个选定的字段了。将所有需要的字段都选定以后,单击窗口上的下一步按钮,在下一个窗口中为新建的查询取名,并单击“完成”按钮,就可以创建一个新的查询了

8利用交叉表查询向导建立查询

ACCESS支持一种特殊类型的总计查询,叫做交叉表查询,利用该查询,你可以在类似电子表格式中查看计算值,要创建一个交叉表查询,首先在数据库窗口中单击新建按钮,并在d出的窗口中单击选中“交叉表查询向导”,然后单击确定按钮,在出现的交叉表查询向导窗口中第一步要求选择含有交叉表的表或查询的名称,第二步要选择在交叉表中哪些字段的值用来做行标题,最多只能选择三个字段,第三步要选择在交叉表中那些字段的值用来做列标题,第四步要选择在表中的交叉点计算出什么数值。第五步中需要为新建的查询取名,并单击完成按钮,这样一个交叉表查询就完成了。

由于这个查询比较特殊,而且对于初学者来说经常看不懂,我特把罗斯文数据库中的相关例子单独提出来以供参考。交叉表查询rar (8303 KB) 9使用查找重复项查询向导建立查询

在Access中,可能需要对数据表中某些具有相同的值的记录进行检索、分类。利用系统提供的“查找重复查询向导”可以快速地完成一个“查找重复项”查询。首先在数据库窗口中单击“查询”选项卡,然后单击“新建”按钮,在“新建查询”对话框中,单击“查找重复查询向导”,单击“确定”按钮。“查找重复项查询向导”的第一步与前面的两种查询向导一样,根据需要选取查询的对象,第二步选取设为重复值的字段,系统会按照选取的字段自动对数据表中的记录进行检索,按照设定的字段分类检索。第三步选择另外查询的字段。其实,在此处选择的查询内容是用户想了解的信息,即有哪些记录具有相同的内容。在最后一个向导对话框中输入新建查询的标题,或者接受系统提供的默认值,并且选择生成查询之后的 *** 作,即可以选择在“数据表”视图中打开查询查看信息或在“设计”视图中修改查询设计。单击“完成”按钮结束查询的建立 。

1在数据库本机用使用cmd指令调出命令行窗口,再用sqlplus/assysdba登录到数据库中。并且用对要赋权限的表所有者连接数据库,否则后续赋权限会失败。

2创建由test123标识的用户测试;创建密码设置为test123的测试用户。

3授权测试用户的连接和资源权限。授予连接,资源到测试。

4指定表授权查询权限。授予用户选择。表测试。

5用新的登录数据库进行验证,我们会先尝试删除删除数据的功能,结果错误无法执行,说明我们添加的用户没有删除权限。

6然后验证select查询函数,成功找到指定的数据。创建一个新用户并指定查询权限函数的实现。对于没有权限的表的查询也会被拒绝。

select 项目ID,经费,项目来源,nvl(ceil(经费01)) as 单位奖金 from twork

查询出TWORK表中所有字段,然后计算出单位奖金字段,利用公式您要的是这个效果么?

创建一个选择查询,按系别统计各自男女学生的平均年龄

SELECT

系,

性别,

AVG(年龄)  AS  平均年龄

FROM

GROUP BY

系,

性别

上面是用 SQL 的处理方法。

楼主要求 “最好不是SQL啊”, 不知道楼主 希望是用什么?

一步一步 *** 作

那要说明是什么数据库啊

如果是 Access的话, *** 作顺序是这样的:

1、创建一个查询

2、在《显示表》窗口里面,把那个表 选中,按 添加按钮。

3、关闭《显示表》窗口, 进入设计窗口。

4、在表中,双击 系,  性别, 年龄 这3列, 加到下面的列表中。

5、在下面列表的地方,鼠标右键,在d出窗口,选择 “汇总”

6、修改 年龄下面的 Group By,  变成 “计算” 注意,不是“总计”。

7、运行查询。1安装SQL SERVER,目前版本是2008,注意版本对应的 *** 作系统。

2安装完成后,在开始菜单打开SQL Server Management Studio,服务器名称默认,如果是空的,就输入一个  ,身份验证选择windows身份验证。

3登录后左侧菜单的菜单里找“数据库”,点开此节点后,在“数据库”菜单上点右键,选择“新建数据库”,点击后在d出的窗口信息里填写信息,填完后点确定,数据库就创建成功了,不过里面还没有表。

4新建表,点开你刚才建立的数据库后,找到“表”菜单,双击,然后在“表”菜单上点右键,选择“新建表”,输入你要填写的字段名,选择好类型,长度后,点击确定,就建好表了,这时再右键选中“表”菜单,选择“刷新”,刚才建立的表就可以显示出来了。

你应该总结出学生成绩查询需要几张表,我大概告诉你一下吧,最基本的3张,

1学生基本信息表

2学生考试科目表

3学生成绩表,这三张之间的关系你要是搞明白了,那学生成绩查询就不会有问题了。

以上就是关于SQL server数据库里查询时新建查询怎么进行多表查询全部的内容,包括:SQL server数据库里查询时新建查询怎么进行多表查询、access中 创建一个查询 查找并显示有摄影爱好的学生的“学号”,“姓名”字段内容、数据库:创建一个查询,将临时表对象tTemp 中女员工编号的第一个字 符更改为“1”。要怎么设置才能更改呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9281718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存