MySQL(查询语句)

连接查询

**1、交叉查询**

2、等值连接
3、内连接**

交叉查询

格式
1、SELECT * FROM TABLE_A CROSS JOIN TABLE_B [WHERE 条件]
2、SELECT * FROM TABLE_A JOIN TABLE_B[WHERE 条件]
3、SELECT * FROM TABLE_A, TABLE_B[WHERE 条件]

格式:
SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.column1 = table2.column2;
在 WHERE 子句中写入连接条件
在表中有相同列时,在列名之前加上表名前缀

例:查询每个学生的所在班级,显示学生编号,姓名,班级名称
SELECT stuid,name,cname FROM student,classinfo WHERE student.cid=classinfo.cid;

内连接
内连接: 合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行

SELECT <列名>
FROM 表1 INNER JOIN 表2
ON 表1.列名 条件运算符 表2.列名
[WHERE 条件]
[ORDER BY 排序列]

查询李四所考科目的平均成绩,显示姓名,平均成绩。
SELECT name,avg(socre) FROM score
INNER JOIN student – 要连接的表
ON score.stuid =student.stuid – 连接条件
WHERE name=‘李四’;

外连接
——左外联结 (LEFT JOIN)
——右外联结 (RIGHT JOIN)

外连接与普通连接的区别
普通连接操作只输出满足连接条件的元素
外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出

左外连接:左外连接使用LEFT JOIN连接两表,连接时左表为主表,左表中的每条记录必定出现在结果集中,而在右表中没有对应的记录,将以NULL值进行填充。

SELECT * FROM TABLE_A
LEFT JOIN TABLE_B
ON 连接条件
[WHERE 条件]
算符常用的是:=、<>,>,<,>=,<=。

查询所有学生课程的考试成绩,
查询结果保留学生ID、姓名、性别、课程ID、成绩

SELECT student.stuid, name, sex, subid, socre
FROM student LEFT JOIN score
ON student.stuid = score.stuid

右外连接与左外连接相似,不同的是右表为主表,右表中的每条记录必定出现在结果集中,而在左表中没有对应的记录,将以NULL值进行填充。

SELECT * FROM TABLE_A
RIGHT JOIN TABLE_B
ON 连接条件
[WHERE 条件]
算符常用的是:=、<>,>,<,>=,<=。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值