资源描述:
《chapter3连接及子查询》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、chapter3连接与子查询/******************************第三章使用连接查询数据********************************/-----------------------内连接--SELECTcolumn_name,column_name[,column_name]--FROMtable1_nameJOINtable2_name--ONtable1_name.ref_column_namejoin_operator--table2_name.ref_column_name--table1_name和table2_name是要连接的
2、表名--join_operator是比较操作符,基于它连接被应用--table1_name.ref_column_name和table2_name.ref_column_name是要应用连接的列名select*fromHumanResources.Employeeselect*fromHumanResources.EmployeePayHistoryselecte.EmployeeID,Title,Rate,PayFrequencyfromHumanResources.EmployeeejoinHumanResources.EmployeePayHistoryephone.Emplo
3、yeeID=eph.EmployeeIDwhereRate>40--与内连接同效果selecte.EmployeeID,Title,Rate,PayFrequencyfromHumanResources.Employeee,HumanResources.EmployeePayHistoryephwheree.EmployeeID=eph.EmployeeIDandRate>40orderbyEmployeeIDselectsop.ProductID,sod.SalesorderID,sod.UnitpricefromSales.SpecialofferProductsopleftou
4、terjoinSales.SalesOrderDetailsodonsop.ProductID=sod.ProductID---------------------------外连接--SELECTcolumn_name,column_name[,column_name]--FROMtable1_name[LERT
5、RIGHT
6、FULL]OUTERJOINtable2_name--ONtable1_name.ref_column_namejoin_operator--table2_name.ref_column_name--左连接:返回左侧指定的表的所有行和右侧指定的表的匹配的行。-
7、-右连接:返回右侧指定的表的所有行和左侧指定的表的匹配的行。--全连接:返回两个表所有匹配的和不匹配的行。selectEmployeeID,TitlefromHumanResources.EmployeeselectEmployeeID,JobCandidateIDfromHumanResources.JobCandidateselecte.Title,jc.JobCandidateIDfromHumanResources.EmployeeefullouterjoinHumanResources.JobCandidatejcone.EmployeeID=jc.EmployeeIDse
8、lectc.CustomerID,t.TestID,t.TestContentfromdbo.Customercfullouterjoindbo.Testtonc.CustomerID=t.TestID----------交叉连接--又称笛卡儿积,在两个表中将一个表中的每行与另一个表中的每行连接。--SELECTcolumn_name,column_name[,column_name]--FROMtable1_nameCROSSJOINtable2_name-----------等值连接--等值连接与内连接一样,使用外键连接表。但是,被用于显示两个表的所有列。-----------自
9、连接--一个表与自己连接。select*fromHumanResources.Employeeselectemployee.EmployeeID,employee.Title,employee.ManagerID,manager.TitlefromHumanResources.EmployeeemployeejoinHumanResources.Employeemanageronemployee.ManagerID=manager.EmployeeID--