MySql_多表查询

本文详细介绍了MySQL中的多表查询,包括等值关联查询、非等值关联查询、自然连接、USING、ON、外连接、UNION及全外连接、自连接、子链接和伪表查询等操作。在多表查询时,需要注意列名冲突和添加关联条件,以及如何通过各种连接方式获取所需数据。
摘要由CSDN通过智能技术生成

多表查询

查询多张表是如果出现同名的列,需要将表名标注到列名前面

非同名的列,表名可以不加,推荐加上

        可为表添加别名

        一般取首字母,特殊下取所代表的含义

        表的别名只在本次查询中生效

如果表与表进行关联查询时:不添加关联条件,查询的总记录数是a*b=笛卡尔积

多表查询的时候必须要加条件

        等值

        非等值

等值关联查询

-- 将user表与class表通过 uid 进行等值关联查询
select user.name, user.uid,class.grade,class.uid from user, class where user.uid=class.uid;

-- 添加别名
select u.name,u.uid,c.grade,c.uid from user u, class c where u.uid=c.uid;

非等值关联查询

-- 判断成绩优秀等级

SELECT * FROM classes c, leveled l WHERE c.grade BETWEEN l.low AND l.high;

表的关联条件和业务查询条件混为一起,新版本语法进行优化:

自然连接:

        自动选择列名相同并且类型相同的列

-- 92语法
select u.uname,d.dname from uuser u, cclass c where u.uid=c.uid and c.grade > 70

-- 99语法
select u
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值