简单数据库操作4—数据库和数据表,表之间相互联接join

我先给大家介绍一个概念,什么是数据库?什么是数据表?一个数据库里面可以有多个数据表,数据表相互之间是可以有联系的。

eg.一表里面有员工的工号,姓名,年龄;另一表中只有员工的工号、工资信息,若将这2个表中的工号字段进行关联即可查出每个人工号,姓名,年龄,工资的全部信息了。

先举一个简单例子。

表一:Persons

小常识:一般工程师建立数据表时都会为这个表设置一个“主键”,主键是不能重复的。Persons这个表中id_P就是它的主键。

[建表时建一列,并将其设置为主键即可]

表二:Orders

可以看出表二也有主键,主键的列名称为id_O;

另外要想将两个表有联系,必须有代表相同意义的列,很显然,id_P列即可作为这两个表相关联的列。

要实现的情形如下:

想了解Persons这个表里面所有客户的姓名及他们购物时生成的单号是什么?

方法一:

SELECTPersons. LastName, Persons. FirstName, Orders.OrderNo

FROMPersons, Orders

WHEREPersons. id_P = Orders. id_P

[注明:语句较长时可以换行显示,依据习惯将关键字放在句首可读性较高]

通过以上的这个方法可以发现,该SQL语句同时调用了2个表,并没有将他们进行关联,从FROM Persons, Orders这个语句就可以看出。

所谓进行关联就是调用一个数据表,用该数据表的某个字段与另外一个表的某个字段匹配起来。

方法一中的语句可以优化成:

方法二:

SELECTPersons.LastName, Persons.FirstName, Orders.OrderNo

FROMPersons

INNER JOINOrders

ONPersons.id_P = Orders.id_P

[读语句:将Persons表与Orders表相关联, 相关联的字段为id_P]

无论执行上面哪段语句,最后的结果如下:

今天学习的JOIN语句除了这种最基础的方法以为,还有

1. 左联接——LEFT JOIN

2. 右联接——RIGHT JOIN

3. 全联接——FULL JOIN

我再写一篇,敬请期待,今天就分享到这里,祝周一一切顺利。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180827G0ESQ300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券