一、SQL 语句
- 用来测试内查询有没有产生任何结果,类似布尔值是否为真
- 如果有的话,系统就会执行外查询中的SQL语句
- 若是没有,那整个SQL语句就不会产生任何结果
- 用法:
SELECT 字段1 FROM 表1 WHERE EXISTS (SELECT * FROM 表2 WHERE 条件);
例:
use train_ticket;
select money from class01 where exists (select * from class01 where money = '80');
select money from class01 where exists (select * from class01 where money = '87');
2.连接查询
2.1 inner join——等值相连
- 只返回两个表中联接字段相等的行
- 用法:
SELECT 字段 FROM 表1 INNER JOIN 表2 ON 表1.字段 = 表2.字段;
例:
select * from class01 as a inner join class02 as b on a.name = b.name;
2.2 left join——左联接
- 返回包括左表中所有记录和右表中联接字段相等的记录
- 例:
SELECT 字段 FROM 表1 LEFT JOIN 表2 ON 表1.字段 = 表2.字段;
例:
select * from calss01 a left join class02 b on a.name =b.name;
2.3 right join——右联接
- 返回包括右表中的所有记录和左表中联接字段相等的记录
- 例:
SELECT 字段 FROM 表1 RIGHT JOIN 表2 ON 表1.字段 = 表2.字段;
例:
select * from class01 a right join class02 b on a.name=b.name;