MYSQL教程-02

一级目录

mysql 连接

       我们已经学会了如何在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据
如何使用 MySQL 的 JOIN 在两个或多个表中查询数据。
JOIN 按照功能大致分为如下三类:

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
  • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

INNER JOIN(内连接,或等值连接)

在这里插入图片描述

首先要先准备两张表:
在这里插入图片描述
在这里插入图片描述
使用MySQL的INNER JOIN(也可以省略 INNER 使用 JOIN,效果一样)来连接以上两张表来读取runoob_tbl表中所有runoob_author字段在tcount_tbl表对应的runoob_count字段值
通俗点说:就是找出两个表runoob_author字段相同的值

select a.runoob_id,a.runoob_author,b.runoob_count from runoob_tbl a inner join tcount_tbl b on a.runoob_author = b.runoob_author;

以上 SQL 语句等价于:
where子句:

select a.runoob_id,a.runoob_author,b.runoob_count from runoob_tbl a,tcount_tbl b where
 a.runoob_author = b.runoob_author;

在这里插入图片描述

LEFT JOIN(左连接)

left join 与 join 有所不同。 MySQL LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。
在这里插入图片描述
以 runoob_tbl 为左表,tcount_tbl 为右表:

select a.runoob_id,a.runoob_author,b.runoob_count from runoob_tbl a left join tcount_tbl b on a.runoob_author = b.runoob_author;

在这里插入图片描述使用了 LEFT JOIN,该语句会读取左边的数据表 runoob_tbl 的所有选取的字段数据即便在右侧表 tcount_tbl中 没有对应的 runoob_author 字段值

RIGHT JOIN(右连接)

同理:RIGHT JOIN 会读取右边数据表的全部数据,即便左边边表无对应数据。
以 runoob_tbl 为左表,tcount_tbl 为右表:

select a.runoob_id,a.runoob_author,b.runoob_author from runoob_tbl a right join tcount_tbl b on a.runoob_author = b.runoob_author;

在这里插入图片描述
RIGHT JOIN,该语句会读取右边的数据表 tcount_tbl 的所有选取的字段数据,即便在左侧表 runoob_tbl 中没有对应的runoob_author 字段值。

mysql NULL值处理

        MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。

为了处理这种情况,MySQL提供了三大运算符:

  • IS NULL: 当列的值是 NULL,此运算符返回 true。
  • IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
  • <=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。
mysql> select * from runoob_tbl where submission_date=NULL;
Empty set (0.00 sec)

=NUll 或 !=NUll都是不可行的

 select * from runoob_tbl where submission_date is NULL;
  select * from runoob_tbl where submission_date is not NULL;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值