All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Asp.net,字符串操作基类(安全,替换,分解等)_[Asp.Net教程]
个人网站推广的精选十二个好方法_JavaScript技术_编程技术
PHP开发中接收复选框信息的方法_php资料_编程技术
sql中获得部分时间的方法_[SQL Server教程]
ASP.NET技巧:存储过程的分析_.net资料_编程技术
XML规范和学习资源小结_[XML教程]
实例:AJAX编写用户注册实例及技术小结_.net资料_编程技术
Visual Studio 2005中Crystal Reports数据源列举
C#教程:电子邮件的接收使用实例
Asp.net,MVC2.0初级教程-显示列表和内容页_[Asp.Net教程]
Reading number is top 10 pictures
NeedWallpaper4
Absolutely shocked. National geographic 50 animal photographys6
移民小国也实惠1
The real super beauty5
From China fortress sora aoi2
Ashlynn Brooke show proud chest measurement1
漂亮脸蛋魔鬼身材1
Summer is most suitable for young people to travel in China1
The girl of like self-time
到南昌西站了1
Download software ranking
VC++6.0简体中文版
变速齿轮3.26
Tram sex maniac 2 (H) rar bag14
Tram sex maniac 2 (H) rar bag19
美女游泳记
Unix video tutorial19
Tram sex maniac 2 (H) rar bag13
Sora aoi, the maid, students' uniforms
Boxer vs Yellow2
Red cliff


01
Hansen, Ola
02
Svendson, Tove
03
Svendson, Stephen
04
Pettersen, Kari

表 Orders:





234
Printer
01
657
Table
03
865
Chair
03

Referring to Two Tables


我们可以通过引用两个表的方式,从两个表中获取数据:


实例


谁订购了产品,并且他们订购了什么产品?

SELECT Employees.Name, Orders.Product FROM Employees, Orders
WHERE Employees.Employee_ID=Orders.Employee_ID

结果:




Hansen, Ola
Printer
Svendson, Stephen
Table
Svendson, Stephen
Chair

实例


谁订购了打印机?

SELECT Employees.Name
FROM Employees, Orders
WHERE Employees.Employee_ID=Orders.Employee_ID
AND Orders.Product='Printer'

结果:



Hansen, Ola

使用Join


我们也可以使用关键词JOIN来从两个表中获取数据:


内连接(INNER JOIN)


语法:

SELECT field1, field2, field3
FROM first_table
INNER JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield

谁定购了产品,并且他们定购了什么?

SELECT Employees.Name, Orders.Product
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID

内连接会返回两个表中所匹配的所有的行。假如某些Employees中的行与Orders中的行不匹配,那些行就不会被列出来。


结果:




Hansen, Ola
Printer
Svendson, Stephen
Table
Svendson, Stephen
Chair

Example 左连接(LEFT JOIN)


语法:

SELECT field1, field2, field3
FROM first_table
LEFT JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield

列出所有的雇员,以及他们的定购产品 - 如果有的话。

SELECT Employees.Name, Orders.Product
FROM Employees
LEFT JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID

左连接会第一个表(Employees)那里返回所有的行,即使在第二个表(Orders)中没有匹配的行。假如某些Employees中的行没有在Orders中可匹配的行,这些行业会被列出来。


结果:




Hansen, Ola
Printer
Svendson, Tove
Svendson, Stephen
Table
Svendson, Stephen
Chair
Pettersen, Kari

Example 右连接(RIGHT JOIN)


语法:

SELECT field1, field2, field3
FROM first_table
RIGHT JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield

列出所有的定单,以及定购者 - 如果有的话。

SELECT Employees.Name, Orders.Product
FROM Employees
RIGHT JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID

右连接会从第二个表格(Orders)那里返回所有的行,即使在第一个表格中没有可匹配的行。假如Orders中的某些行没有在Employees可匹配的行,那些行也会被列出。


结果:




Hansen, Ola
Printer
Svendson, Stephen
Table
Svendson, Stephen
Chair



归海一刀 published in(发表于) 2014/2/3 6:40:20 Edit(编辑)
SQL数据库高级教程:学习 SQL JOIN_[SQL Server教程]

SQL数据库高级教程:学习 SQL JOIN_[SQL Server教程]

SQL数据库高级教程:学习 SQL JOIN_[SQL Server教程]


Joins 和 Keys


有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行join。


数据库中的表可通过键将彼此联系起来。一个主键(Primary Key)可以是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。Employee_ID会区分开每一个人,即使他们中的人都着相同的名字。


当你看到下面的例子时,请注意以下几点:



  • "Employee_ID"列是"Employees"表的主键
  • "Prod_ID"列是"Orders"表的主键
  • 表"Orders"中的"Employee_ID"列用于引用"Employees"表中的员工,而无需使用他们的确切姓名

表 Employees:


Employee_IDNameProd_IDProductEmployee_IDNameProductNameNameProductNameProductNameProduct


添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.