我先给大家介绍一个概念,什么是数据库?什么是数据表?一个数据库里面可以有多个数据表,数据表相互之间是可以有联系的。
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
我再写一篇,敬请期待,今天就分享到这里,祝周一一切顺利。
领取专属 10元无门槛券
私享最新 技术干货