视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql之学习秘籍
2020-11-09 08:07:58 责编:小采
文档

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 9 rows in set (0.00 sec) mysql #计算每个人的挂科科目 mysql select name,sum(score 60) from stu group by name; +------+-----------------+ | name | sum(score 60) | +------+----------------

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  9 rows in set (0.00 sec)

  mysql> #计算每个人的挂科科目

  mysql> select name,sum(score < 60) from stu group by name;

  +------+-----------------+

  | name | sum(score < 60) |

  +------+-----------------+

  | 张三 | 2 |

  | 李四 | 2 |

  | 王五 | 1 |

  | 赵六 | 0 |

  +------+-----------------+

  4 rows in set (0.00 sec)

  #同时计算每人的平均分

  mysql> select name,sum(score < 60),avg(score) as pj from stu group by name;

  +------+-----------------+---------+

  | name | sum(score < 60) | pj |

  +------+-----------------+---------+

  | 张三 | 2 | 60.0000 |

  | 李四 | 2 | 50.0000 |

  | 王五 | 1 | 30.0000 |

  | 赵六 | 0 | 99.0000 |

  +------+-----------------+---------+

  4 rows in set (0.00 sec)

  #利用having筛选挂科2门以上的.

  mysql> select name,sum(score < 60) as gk ,avg(score) as pj from stu group by name having gk >=2;

  +------+------+---------+

  | name | gk | pj |

  +------+------+---------+

  | 张三 | 2 | 60.0000 |

  | 李四 | 2 | 50.0000 |

  +------+------+---------+

  2 rows in set (0.00 sec)

  4: order by 与 limit查询

  4.1:按价格由高到低排序

  select goods_id,goods_name,shop_price from ecs_goods order by shop_price desc;

  4.2:按发布时间由早到晚排序

  select goods_id,goods_name,add_time from ecs_goods order by add_time;

  4.3:接栏目由低到高排序,栏目内部按价格由高到低排序

  select goods_id,cat_id,goods_name,shop_price from ecs_goods

  order by cat_id ,shop_price desc;

  4.4:取出价格最高的前三名商品

  select goods_id,goods_name,shop_price from ecs_goods order by shop_price desc limit 3;

  4.5:取出点击量前三名到前5名的商品

  select goods_id,goods_name,click_count from ecs_goods order by click_count desc limit 2,3;

  5 连接查询

  5.1:取出所有商品的商品名,栏目名,价格

  select goods_name,cat_name,shop_price from

  ecs_goods left join ecs_category

  on ecs_goods.cat_id=ecs_category.cat_id;

  5.2:取出第4个栏目下的商品的商品名,栏目名,价格

  select goods_name,cat_name,shop_price from

  ecs_goods left join ecs_category

  on ecs_goods.cat_id=ecs_category.cat_id

  where ecs_goods.cat_id = 4;

  5.3:取出第4个栏目下的商品的商品名,栏目名,与品牌名

  select goods_name,cat_name,brand_name from

  ecs_goods left join ecs_category

  on ecs_goods.cat_id=ecs_category.cat_id

  left join ecs_brand

  on ecs_goods.brand_id=ecs_brand.brand_id

  where ecs_goods.cat_id = 4;

  5.4: 用友面试题

  根据给出的表结构按要求写出SQL语句。

  Match 赛程表

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

字段名称字段类型描述
matchIDint主键
hostTeamIDint主队的ID
guestTeamIDint客队的ID
matchResultvarchar(20)比赛结果,如(2:0)
matchTimedate比赛开始时间

  Team 参赛队伍表

  

  

  

  

  

  

  

  

  

  

字段名称字段类型描述
teamIDint主键
teamNamevarchar(20)队伍名称

  Match的hostTeamID与guestTeamID都与Team中的teamID关联

  查出 2006-6-1 到2006-7-1之间举行的所有比赛,并且用以下形式列出:

  拜仁 2:0 不来梅 2006-6-21

  mysql> select * from m;

  +-----+------+------+------+------------+

  | mid | hid | gid | mres | matime |

  +-----+------+------+------+------------+

  | 1 | 1 | 2 | 2:0 | 2006-05-21 |

  | 2 | 2 | 3 | 1:2 | 2006-06-21 |

  | 3 | 3 | 1 | 2:5 | 2006-06-25 |

  | 4 | 2 | 1 | 3:2 | 2006-07-21 |

  +-----+------+------+------+------------+

  4 rows in set (0.00 sec)

  mysql> select * from t;

  +------+----------+

  | tid | tname |

  +------+----------+

  | 1 | |

  | 2 | 申花 |

  | 3 | 传智联队 |

  +------+----------+

  3 rows in set (0.00 sec)

  mysql> select hid,t1.tname as hname ,mres,gid,t2.tname as gname,matime

  -> from

  -> m left join t as t1

  -> on m.hid = t1.tid

  -> left join t as t2

  -> on m.gid = t2.tid;

  +------+----------+------+------+----------+------------+

  | hid | hname | mres | gid | gname | matime |

  +------+----------+------+------+----------+------------+

  | 1 | | 2:0 | 2 | 申花 | 2006-05-21 |

  | 2 | 申花 | 1:2 | 3 | 传智联队 | 2006-06-21 |

  | 3 | 传智联队 | 2:5 | 1 | | 2006-06-25 |

  | 2 | 申花 | 3:2 | 1 | | 2006-07-21 |

  +------+----------+------+------+----------+------------+

  4 rows in set (0.00 sec)

  6 union查询

  6.1:把ecs_comment,ecs_feedback两个表中的数据,各取出4列,并把结果集union成一个结果集.

  6.2:3期学员碰到的一道面试题

  A表:

  +------+------+

  | id | num |

  +------+------+

  | a | 5 |

  | b | 10 |

  | c | 15 |

  | d | 10 |

  +------+------+

  B表:

  +------+------+

  | id | num |

  +------+------+

  | b | 5 |

  | c | 15 |

  | d | 20 |

  | e | 99 |

  +------+------+

  mysql> # 合并 ,注意all的作用

  mysql> select * from ta

  -> union all

  -> select * from tb;

  +------+------+

  | id | num |

  +------+------+

  | a | 5 |

  | b | 10 |

  | c | 15 |

  | d | 10 |

  | b | 5 |

  | c | 15 |

  | d | 20 |

  | e | 99 |

  +------+------+

[1] [2] [3] [4] [5]

下载本文
显示全文
专题