多表链接查询
在学习完单表查询后,有多表连接查询。多表连接查询,主要是在查询数据时,数据来自不同的表中,这时就需要使用多表连接查询。
连接查询是关系数据库中最常用的查询。连接查询主要包括内连接、外连接、左外连接、右外连接、全外连接和交叉连接等。全外连接和交叉连接很少用到。
内连接
使用内连接时,如果两个表的相关字段满足连接条件。则从这两个表中提取数据并结合成新的记录。
在非ANSI标准的实现中,连接操作写在Where子句中,即在where子句中指定连接条件,在ANSI SQL-92中,连接操作写在join子句中。这两种连接方式分别被称为theta连接方式和ANSI连接方式。
(1)ANSI方式的内连接语法格式为:
From 表1 INNER join 表2 on 连接条件
(2)Theta方式的内连接语法格式为:
From表1,表2 where 连接条件
连接条件中指明两个表按什么条件进行连接,连接条件中的比较运算符称为连接谓词。
注意:连接条件中用于进行比较的列必须是可比的,必须是语义相同的列。当运算符为等号(=)时,称为等值连接,使用其他运算符的连接称为非等值连接
语法:
select colum_name(s) from table1 inner join table2 on table1.colum_name=table2.colum_name;
实例:
比如有两个表