MySQL数据库——初涉‘连接’基本语法

--连接语法结构
table_reference {[INNER|CROSS] JOIN | {LEFT|RIGHT} [OUTER] JOIN} table_reference ON conditional_expr;
/*
ps.在MySQL中,JOIN,CROSS JOIN和INNER JOIN是等价的
LEFT [OUTER] JOIN,左外连接
RIGHT [OUTER] JOIN,右外连接
ON关键字后面设定连接条件,也可以使用WHERE来替代
(通常使用ON关键字来设定连接条件,使用WHERE关键字来进行结果集记录的过滤)
*/

--数据表参照
table_reference tb_name [[AS] alias] | table_subquery [AS] alias;
--数据库可以使用tb_name AS alias_name
--或者tb_name alias_name 赋予别名
--table_subquery 可以作为子查询使用在FROM子句中,这样的子查询必须为其赋予别名
--内连接,显示左表及右表符合连接条件的记录

--示例操作(假设前提条件已满足)
SELECT book_id,book_name,cate_name FROM tb_book INNER JOIN tb_book_cates ON tb_book.cate_id = tb_book_cates.cate_id;
--外连接
/*
A LEFT JOIN B join_condition(拿左外连接作说明)
数据表B的结果集依赖数据表A
数据表A的结果集根据左连接条件依赖所有数据表(B表除外)
左外连接条件决定如何检索数据表B(在没有指定WHERE条件的情况下)
如果数据表A的某条记录符合WHERE条件,但是在数据表B不存在符合连接条件的记录,将生成一个所有列为空的额外的B行
*/
--左外连接,显示左表的全部记录及右表符合连接条件的记录
--示例操作(假设前提条件已满足)
SELECT book_id,book_name,cate_name FROM tb_book LEFT JOIN tb_book_cates ON tb_book.cate_id = tb_book_cates.cate_id;

--右外连接,显示右表的全部记录及左表符合连接条件的记录
--示例操作(假设前提条件已满足)
SELECT book_id,book_name,cate_name FROM tb_book RIGHT JOIN tb_book_cates ON tb_book.cate_id = tb_book_cates.cate_id;
--多表连接(两张表以上)

--示例操作(假设前提条件已满足)
SELECT stu_id,stu_name,stu_sex,stu_cid,stu_pid FROM tb_stu AS s
INNER JOIN tb_stu_class AS c ON s.stu_cid = c.class_id
INNER JOIN tb_stu_province AS p ON s.stu_pid = p.pro_id;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值