Heim > Datenbank > MySQL-Tutorial > Mysql连接查询Mysql支持的连接查询有哪些_MySQL

Mysql连接查询Mysql支持的连接查询有哪些_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-01 13:29:59
Original
1110 Leute haben es durchsucht

bitsCN.com

Mysql连接查询Mysql支持的连接查询有哪些

 

CREATE TABLE `chx` (  `id` VARCHAR(20) NOT NULL,  `name` VARCHAR(50) DEFAULT NULL,  `name2` CHAR(4) DEFAULT NULL,  `name3` VARCHAR(4) DEFAULT NULL,  `score` INT(11) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8CREATE TABLE `test` (  `id` int(11) DEFAULT NULL,  `age` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8
Nach dem Login kopieren

1.Mysql支持的连接查询方式列举如下:

a:内连接 inner join也是默认的连接方式

根据比较方式不同分为如下三种:

等值连接:使用等号来作为连接条件

自然连接:natural join,通过在两张表里寻找列名和数据类型都相同的字段(长度不管),然后再根据这些相同的字段进行连接(内连接)。并返回所有符合条件

的结果。

不等值连接:就是在连接条件中使用除等号以外的其他比较运算符,例如:on c.id between s.XXX and s.XXX;

注意:可以使用using关键字简化连接:

使用条件:1.查询必须是等值连接 2.等值连接中的列必须具有相同的名称和数据类型。

b:外连接 outer join

外连接可以分为以下三类:

左外连接(left outer join 或left join):检索结果为满足连接条件的数据行+左表中不满足连接条件的数据行,然后再根据过滤条件过滤即为查询结果(先连接后

过滤)注意:此处过滤条件很容易犯错,一般要以左表的条件进行过滤,不然容易犯错。例如:

SELECT c.*,t.* FROM chx c LEFT JOIN test t ON c.id = t.id WHERE c.`id`= 1和                         SELECT c.*,t.* FROM chx c LEFT JOIN test t ON c.id = t.id WHERE t.`id`= 1
Nach dem Login kopieren
的结果不一样,

                                                                                      因为当副表t没有等于1的记录而主表c有的话第一条语句是由结果的,而第二条是没有结果的。见下图:

                                                                                      

Mysql连接查询Mysql支持的连接查询有哪些_MySQL

 

                  右外连接(right outer join 或right join):与左外连接相反。

                  全外连接(full outer join 或full join):注意:mysql不支持全外连接:除了显示满足连接条件的行外,还显示join两侧表中所有满足检索条件的行。

 

     c:交叉连接 cross  join

           即两表的所有数据行的笛卡尔积。

bitsCN.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage