Mysql学习003
分组查询:
-
语法
select 列 from 表
where
group by order by
-
示例:
统计菜单中不同类型的菜单数目:
SELECT COUNT(menu_type) as num,menu_type FROM sys_menu GROUP BY menu_type ORDER BY num ASC; -
示例:
统计菜单中不同类型的菜单中含有"管理"的菜单数目:
SELECT COUNT(menu_type) as num,menu_type FROM sys_menu WHERE menu_name LIKE '%管理%' GROUP BY menu_type ORDER BY num ASC; -
示例 :
统计菜单中不同类型的菜单的菜单数目大于5:
SELECT COUNT(menu_type) as num,menu_type FROM sys_menu WHERE menu_name LIKE '%管理%' GROUP BY menu_type HAVING num > 5; -
按表达式或函数分组
统计菜单中的菜单长度的种类:
SELECT length(path) as num FROM sys_menu WHERE menu_name LIKE '%管理%' GROUP BY num; -
按多个字段分组
示例:略
-
支持排序
-
连接查询
-
笛卡尔积
略
-
sql92
支持内连接
-
等值连接
SELECT sys_user.user_name,sys_role.role_name from sys_user,sys_role WHERE sys_user.user_id = sys_role.role_id; -
非等值连接
-
自连接
-
-
sql99
-
语法:select 列 from 表 [连接类型]
join 表
on 连接条件
where
-
内连接 inner
-
外连接
- 左外 left
- 右外 right
- 全连接 full
-
交叉连接 cross
-
-

浙公网安备 33010602011771号