MySQL学习笔记篇七

本节主要内容:合并结果集、连接查询;

合并结果集:是指把两个select语句的查询结果合并到一起。

合并结果集的两种方式:UNION (合并时去除重复记录) | UNION ALL(合并时不去除重复记录);

使用格式:

SELECT * FROM 表1 UNION SELECT * FROM 表2;

SELECT * FROM 表1 UNION ALL SELECT * FROM 表2;

合并结果集的注意事项:合并到两个结果的列数、列类型必须相同。

案例示范:

表student1有姓名、语文成绩两个字段,字段值有:'张一,90'、'张二,80'、'张三,65';

表student2有姓名、语文成绩两个字段,字段值有:'张一,90'、'张二,80'、'李四,75';

SELECT * FROM student1 UNION SELECT * FROM student2;

查询结果如下:

name

score

张一

90

张二

80

张三

65

李四

75

SELECT * FROM student1 UNION ALL SELECT * FROM student2;

查询结果如下:

name

score

张一

90

张二

80

张三

65

张一

90

张二

80

李四

75

2、连接查询(也称跨表查询):可以连接多表进行查询;连接查询时会出现笛卡尔积的现象。

保证连接查询数据的正确性:

  • 在查询时要把主键和外键保持一致;

例:学生表student

id

name

1000

张一

1001

张二

1002

张三

成绩表score

id

score

st_id

1

66

1000

2

79

1001

3

80

1002

 查询语句:

SELECT * FROM student st, score sc where st.id=sc.st_id;

  • 主表当中的数据参照子表当中的数据;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值