[MySQL]数据库连接sql语句

1、连接

表连接是将两张表中符合一定条件的表记录(行)进行连接,生成一张新表。如果不设置连接条件,结果与两表的笛卡尔积相同。根据sql语句的执行顺序,可以知道连接(join)发生在连接判断(on)之后。sql语句执行顺序:

  1. from -- 确定查询的是哪张表
  2. on -- 连接条件
  3. join -- 连接
  4. where -- 从表的数据中进行筛选
  5. select -- 确定要显示那些列(定义列别名)
  6. group by
  7. 集合函数
  8. having
  9. order by
  10. limit

下面将使用emp表(员工表)与dept表(部门表)进行连接测试,表内容:

2、笛卡尔积连接

SELECT XXX FROM XXX JOIN XXX :

select * from emp,dept;-- 没有条件的内连接
select * from emp inner join dept;-- join为连接的意思
select * from emp join dept;-- inner可以省略

下面给出简单笛卡尔积的计算方法,笛卡尔积乘出来的也是集合,无序、不重复的。关于更多笛卡尔积内容

笛卡尔积的符号化为: A×B={(x,y)|x∈A∧y∈B}

例如,A={a,b}, B={0,1,2},

则 A×B={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)} B×A={(0, a), (0, b), (1, a), (1, b), (2, a), (2, b)}

3、内查询

SELECT XXX FROM XXX INNER JOIN XXX ON XXX:

select * from emp inner join dept on emp.dept_id = dept.id;
-- 左表(emp)中符合on条件的行与右表(dept)中符合条件的行进行连接

4、左外查询

SELECT XXX FROM XXX LEFT OUTER JOIN XXX ON XXX:

select * from dept left outer join emp on emp.dept_id = dept.id;
-- 将左表(dept)中的行与右表(emp)中符合on条件的进行join
select * from dept left join emp on emp.dept_id = dept.id;
-- outer可以省略

5、右外查询

SELECT XXX FROM XXX RIGHT OUTER JOIN XXX ON XXX:

select * from dept right join emp on emp.dept_id = dept.id;
-- 将左表中符合on条件的行与右表中所有的行进行连接。

6、总结:

  • 内连接是两个表的交集
  • 左外连接是左表加两表交集
  • 右外连接是右表加两表交集

在连接时建议先使用on来限定连接行,再用where对连接生成的新表进行筛选。当两表表记录数量大时,不使用on会产生一个更大的笛卡尔积表

 

参考:

https://www.cnblogs.com/cdf-opensource-007/p/6517627.html

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实验1 Mysql数据库SQL语句练习实验主要是为了帮助学习者熟悉使用Mysql数据库的SQL语句。通过实践练习,学习者可以掌握SQL语句的基本语法和常用操作,进一步理解数据库的概念和原理。 在实验中,学习者将使用Mysql数据库,通过编写和执行SQL语句来完成一系列操作。这些操作包括创建数据库和、插入和更新数据、查询和筛选数据等。通过实践练习,学习者可以逐步掌握不同类型的SQL语句和各种功能。 实验1的内容可以包括以下几个方面: 1. 创建数据库:学习者可以使用CREATE DATABASE语句创建一个新的数据库,定义数据库的名称和字符集等属性。 2. 创建:学习者可以使用CREATE TABLE语句创建一个新的,定义的结构和字段,包括字段名、数据类型、约束等。 3. 插入数据:学习者可以使用INSERT INTO语句中插入数据,根据的结构和字段定义,逐个插入数据记录。 4. 更新数据:学习者可以使用UPDATE语句更新中的数据,根据条件选择需要更新的记录,并修改相应的字段值。 5. 查询数据:学习者可以使用SELECT语句查询中的数据,根据条件筛选需要的记录,并选择要显示的字段和排序方式。 6. 删除数据:学习者可以使用DELETE FROM语句删除中的数据,根据条件选择需要删除的记录。 通过实验1的练习,学习者可以逐步掌握Mysql数据库的SQL语句的基本用法和常见操作,提高对数据库的理解和应用能力。此外,实验1还可以培养学习者的数据处理和分析能力,为进一步学习数据库相关内容打下基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值