标签:p2 p1 name -- 用法 products sql SELECT
自连接的用法--sql
自连接是连接的一种用法,但并不是连接的一种类型,因为他的本质是把一张表当成两张表来使用。
mysql有时在信息查询时需要进行对自身连接(自连接),所以我们需要为表定义别名。
-- 创建表
CREATE TABLE products
(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
price DOUBLE(6,2)
);
-- 添加数据
INSERT INTO products(name,price)
VALUES
('苹果',12),
('香蕉',15),
('梨子',13),
('桃子',14),
('橘子',11);
执行语句
-- 获取可重排列 有相同元素构成的对
SELECT p1.name AS name1 ,p2.name AS name2 FROM products p1,products p2;
-- 也可写为
SELECT p1.name as name1,p2.name as namem2 FROM products p1 JOIN products p2;
-- 执行结果里每一行(记录)都是一个有序对。因为是可重排列,所以结果行数为 5^2 = 25 条数据
-- 可排除掉由相同元素构成的对
SELECT p1.name as name1 ,p2.name as name2 FROM products p1,products p2 WHERE p1.name <> p2.name;
-- 元素顺序的对进行去重
SELECT p1.name as name1 ,p2.name as name2 FROM products p1,products p2 WHERE p1.name < p2.name;
-- 组合
SELECT p1.name as name1,p2.name as name2,p3.name as name3,p4.name as name4,p5.name as name5
FROM products p1,products p2,products p3,products p4,products p5
WHERE p1.name > p2.name
and p2.name > p3.name
and p3.name > p4.name
and p4.name > p5.name
图例
标签:p2,p1,name,--,用法,products,sql,SELECT 来源: https://www.cnblogs.com/d534/p/15624468.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。