sql_SELECT

----------------------普通--------------------------

--'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;

  

猜你喜欢

转载自www.cnblogs.com/mexding/p/9103921.html
今日推荐