----------------------普通-------------------------- --'DISTINCT'关键字,用于删除重复行 SELECT DISTINCT type_id FROM pets; -- 'LIMIT'关键字,用于指定要显示的数据行 SELECT * FROM pet LIMIT 2; ---或--- SELECT * FROM pet LIMIT 1,4; ----------------------谓词-------------------------- -- 'BETWEEN' 关键字,用于数字 SELECT * FROM pets WHERE type_id BETWEEN 1 AND 3; -- 'BETWEEN' 关键字,用于文本值 SELECT * FROM pets WHERE name BETWEEN 'a' AND 'g'; -- 'BETWEEN' 关键字,用于日期 SELECT * FROM pets WHERE birth_date BETWEEN '2000-05-10' AND '2001-05-14'; -- ‘IN’关键字 SELECT * FROM pets WHERE (type_id BETWEEN 1 AND 3) AND (name IN ('leo', 'rosy')); -- 'LIKE'关键字,用于匹配部分字符串 SELECT * FROM pets WHERE name NOT LIKE 'L%'; ----------------------聚合函数-------------------------- -- 聚合函数:COUNT数量 AVG平均值 SUM总数 MAX最大值 MIN最小值 -- 'COUNT'关键字,用于查询数据行数 SELECT COUNT(*) FROM pets; -- 'GROUP BY'关键字,用于对数据行进行分组 SELECT owner_id, COUNT(*) FROM pets GROUP BY owner_id; -- 'GROUP BY'关键字,用于对数据行进行分组 -- 执行顺序:FROM - WHERE - GROUP BY - SELECT,这符合英语的思维方式 SELECT owner_id, COUNT(*) FROM pets WHERE name BETWEEN 'A' AND 'g' GROUP BY owner_id; -- 'HAVING' 关键字,用于为聚合结果指定条件 -- 'ORDER BY'关键字,用于对查询结果排序 SELECT owner_id, COUNT(*) FROM pets GROUP BY owner_id HAVING COUNT(*) < 2 ORDER BY owner_id DESC; ----------------------集合运算-------------------------- --集合运算:就是把表看成集合,然后采取集合的运算方式 -- 'UNION'关键字,进行并集运算 -- 'ALL'关键字,保留重复元素 SELECT first_name AS '姓名:' FROM owners UNION ALL SELECT name FROM pets; -- 'LEFT JOIN'关键字,用于拼接左右两个表 SELECT o.*, p.* FROM owners o LEFT JOIN pets p ON o.id=p.owner_id;