建设网站的语言,主流门户网站有哪些,手机网站开发下拉刷新,网站优化排名方法有哪些1、内连接查询#xff08;重点#xff09;#xff1a;
基本语法#xff1a;
select 数据表1.字段列表,数据表2.字段列表 from 数据表1 inner join 数据表2 on 连接条件; 案例#xff1a;获取产品表中每个产品的分类信息#xff1a;
mysql select * from tb_goods …
1、内连接查询重点
基本语法
select 数据表1.字段列表,数据表2.字段列表 from 数据表1 inner join 数据表2 on 连接条件; 案例获取产品表中每个产品的分类信息
mysql select * from tb_goods inner join tb_category;
--------------------------------------------------------
| id | title | price | cid | id | name | pid |
--------------------------------------------------------
| 1 | IPhone 11 | 5699.00 | 1 | 1 | 手机 | 0 |
| 1 | IPhone 11 | 5699.00 | 1 | 2 | 电脑 | 0 |
| 1 | IPhone 11 | 5699.00 | 1 | 3 | 游戏手机 | 1 |
| 2 | MI 10 | 4699.00 | 1 | 1 | 手机 | 0 |
| 2 | MI 10 | 4699.00 | 1 | 2 | 电脑 | 0 |
| 2 | MI 10 | 4699.00 | 1 | 3 | 游戏手机 | 1 |
| 3 | ThinkPad X1 | 9999.00 | 2 | 1 | 手机 | 0 |
| 3 | ThinkPad X1 | 9999.00 | 2 | 2 | 电脑 | 0 |
| 3 | ThinkPad X1 | 9999.00 | 2 | 3 | 游戏手机 | 1 |
| 4 | Nike air | 999.00 | 10 | 1 | 手机 | 0 |
| 4 | Nike air | 999.00 | 10 | 2 | 电脑 | 0 |
| 4 | Nike air | 999.00 | 10 | 3 | 游戏手机 | 1 |
--------------------------------------------------------
12 rows in set (0.00 sec)mysql select * from tb_goods inner join tb_category on tb_goods.cid tb_category.id;
--------------------------------------------------
| id | title | price | cid | id | name | pid |
--------------------------------------------------
| 1 | IPhone 11 | 5699.00 | 1 | 1 | 手机 | 0 |
| 2 | MI 10 | 4699.00 | 1 | 1 | 手机 | 0 |
| 3 | ThinkPad X1 | 9999.00 | 2 | 2 | 电脑 | 0 |
--------------------------------------------------
3 rows in set (0.00 sec) 然后我们只要部分字段那我们就要进行具体指定
mysql select tb_goods.*,tb_category.name from tb_goods inner join tb_category on tb_goods.cid tb_cat
egory.id;
----------------------------------------
| id | title | price | cid | name |
----------------------------------------
| 1 | IPhone 11 | 5699.00 | 1 | 手机 |
| 2 | MI 10 | 4699.00 | 1 | 手机 |
| 3 | ThinkPad X1 | 9999.00 | 2 | 电脑 |
----------------------------------------
3 rows in set (0.00 sec)产品表中的所有的字段和产品目录中的name字段。 内连接查询把两个表甚至多个表进行连接然后拿表1中的每一条记录与表2中的每一条记录进行匹配如果有与之对应的结果则显示。反之则忽略这条记录。 2、外连接查询重点
内连接查询要求表1和表2中的每一条记录都必须一一对应如果无法匹配则这条记录会被忽略掉那如果我需要保留表1中的所有记录或者表2中的所有记录怎么办
答使用外连接查询。 基本语法
左外连接查询把左表中的每一条数据都保留右表匹配到结果就显示匹配不到就NULL
select 数据表1.字段列表,数据表2.字段列表 from 数据表1 left join 数据表2 on 连接条件;
右外连接查询把右表中的每一条数据都保留左表匹配到结果就显示匹配不到就NULL
select 数据表1.字段列表,数据表2.字段列表 from 数据表1 right join 数据表2 on 连接条件; 案例获取产品表中的每个产品的分类信息无论匹配到与否
mysql select tb_goods.*,tb_category.name from tb_goods left join tb_category on tb_goods.cid tb_category.id;
----------------------------------------
| id | title | price | cid | name |
----------------------------------------
| 1 | IPhone 11 | 5699.00 | 1 | 手机 |
| 2 | MI 10 | 4699.00 | 1 | 手机 |
| 3 | ThinkPad X1 | 9999.00 | 2 | 电脑 |
| 4 | Nike air | 999.00 | 10 | NULL |
----------------------------------------
4 rows in set (0.00 sec)别名机制简化内外连接
原始语句
mysql select tb_goods.*,tb_category.name from tb_goods left join tb_category on tb_goods.cidtb_category.id;
给数据表起个简单的名字如tb_category叫ctb_goods叫g ① mysql select * from tb_goods left join tb_category; 起别名 ② mysql select * from tb_goods g left join tb_category c; 写on条件 ③ mysql select * from tb_goods g left join tb_category c on g.cidc.id; 筛选字段 ④ mysql select g.*,c.name from tb_goods g left join tb_category c on g.cidc.id; 想成为高级的数据库管理员DBA数据库还是非常重要的。
作为运维人员还是要做掌握一些知识。