用sql语句查询所有栏目以及父栏目信息 自连接+外连接 ,表信息如下(SELECT * FROM teacher tea LEFT JOIN teacher mgr ON tea.mgrno = mgr.tno CREATE TABLE IF NOT EXISTS category( categoryId INT(10) AUTO_INCREMENT PRIMARY KEY, categoryName VARCHAR(32) NOT NULL , pid INT(10) ); INSERT INTO category(categoryId,pid,categoryName) VALUES(2,1,'美术设计'); INSERT INTO category(categoryId,pid,categoryName) VALUES(3,1,'软件开发'); INSERT INTO category(categoryId,pid,categoryName) VALUES(4,3,'数据库基础'); INSERT INTO category(categoryId,pid,categoryName) VALUES(5,2,'Photoshop基础'); INSERT INTO category(categoryId,pid,categoryName) VALUES(6,2,'色彩搭配学'); INSERT INTO category(categoryId,pid,categoryName) VALUES(7,3,'PHP基础'); INSERT INTO category(categoryId,pid,categoryName) VALUES(8,3,'一起学JAVA');)
时间: 2023-06-01 11:06:38 浏览: 87
sql语句学习 多表连接查询
4星 · 用户满意度95%
以下是 SQL 查询语句:
SELECT c1.categoryId, c1.categoryName, c2.categoryName AS parentCategory
FROM category c1
LEFT JOIN category c2 ON c1.pid = c2.categoryId
这条 SQL 查询语句使用了自连接和外连接,可以查询所有栏目以及父栏目信息。其中,使用 LEFT JOIN 左连接关联自身的表,查询父栏目信息,关联条件为 c1 表的 pid 字段和 c2 表的 categoryId 字段相等。最终结果以 categoryId 排序,包括 c1 表的 categoryId、categoryName、以及 c2 表的 categoryName。
阅读全文