join 认识

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CDell-01%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> inner join( 值连 ) 只返回两个表中 联结 段相等的行
left join(
) 返回包括左表中的所有 记录 和右表中 联结 字段相等的 记录
right join(
) 返回包括右表中的所有 记录 和左表中 联结 字段相等的 记录
on
指定表 间联结 字段及其 系的等号 "=" 表达式 , 返回 true false. 当表达式返回 true , 则查询 中包含 该记录
举例说明:

表 Employees(主键为Employee_ID):

Employee_ID                              Name
      01                                     Adams,john
      02                                     bush, George
      03                                     Jim, Care
      04                                     Lily, Lucy

表 Orders(主键为Prod_ID):

Prod_ID         Product            Employee_ID
  001            printer              01
  002            table                03
  003            book                03

我们可以从引用两个表的方式,从两个表中获得数据
谁订购了产品,并且他们订购了什么产品?
SQL 语句如下:
SELECT Employees.Name, Orders.Product FROM Employees, Orders
WHERE Employees.Employee_ID = Orders.Employee_ID

结果:

NameProduct
                 Adams, JohnPrinter
                Jim, CareTable
                Jim, Care book
谁订购了打印机?
SELECT Employees.Name
FROM Employees, Orders
WHERE Employees.Employee_ID = Orders.Employee_ID
AND Orders.Product = 'Printer'
结果:
NAME PRODUCT       
Adams, John Printer

使用 Join

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

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

SELECT Employees.Name, Orders.Product
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
结果:
NAME PRODUCT
Adams, John Printer
Jim, Care Table
Jim, Care book
LEFT JOIN EXAMPLE:

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

    SELECT Employees.Name, Orders.Product
    FROM Employees
    LEFT JOIN Orders
    ON Employees.Employee_ID=Orders.Employee_ID
NameProduct
            Adams, John    Printer
            Bush, George 
            Jim, Care    table
            Jim, Care     book
            Lily, Lucy   
RIGHT JOIN EXAMPLE:

列出所有的定单,以及定购者 - 如果有的话。
    SELECT Employees.Name, Orders.Product
    FROM Employees
    RIGHT JOIN Orders
    ON Employees.Employee_ID=Orders.Employee_ID
右连接会从第二个表格 (Orders) 那里返回所有的行,即使在第一个表格中没有可匹配的行。
假如 Orders 中的某些行没有在 Employees 可匹配的行,那些行也会被列出。
       Name                       Product
       Adams,john                   printer
       Jim, Care                     table
       Jim, Care                     book

UNION 浅谈:
UNION 命令用于从两个表中选取相关的信息,很类似 JOIN 命令。不过,当使用 UNION 命令时,
所有被选取的列的数据类型应该是相同的。
UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。
语法如下:
    SQL Statement 1
    UNION
    SQL Statement 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值