自连接查询属于联表查询中特殊的一种
联表查询是两张表采用7中join方式 依据两张表不同字段相同数据进行数据查询
那么一张表如何进行联表查询呢?
就是采用自连接的查询方式
自连接说白了就是把一张表分成两张 然后又采用联表查询的方式进行操作
话不多说,直接看表
- - 建表 `obj`
CREATE TABLE IF NOT EXISTS `obj`(
`id` INT (2) NOT NULL AUTO_INCREMENT COMMENT'编号',
`o_name` VARCHAR (10) NOT NULL COMMENT'课程名',
`o_id` INT (2) COMMENT'课程号',
PRIMARY KEY(`id`)
)ENGINE = INNODB DEFAULT CHARSET = utf8
插入几组数据
把这两张表拆开了也就是:
这样封开看的话就比较明显了
然后进行连接查询,因为下面两张表的数据实际在一张表中 所以需要给表起别名来达到一张表当两张表用的目的
SELECT a.`o_name`AS '科目' ,b.`o_name`'类别'
FROM `obj`AS a ,`obj`AS b
WHERE a.`o_id` = b.`id`
查询结果:
这样就实现了自连接查询的目的。