MySQL_常用查询的例子.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL_常用查询的例子 下面是一些学习如何用MySQL解决一些常见问题的例子。      一些例子使用数据库表“shop”,包含某个商人的每篇文章(物品号)的价格。假定每个商人的每篇文章有一个单独的固定价格,那么(物品,商人)是记录的主键。      你能这样创建例子数据库表:   CREATE TABLE shop (   article INT(4) UNSIGNED ZEROFILL DEFAULT 0000 NOT NULL,   dealer CHAR(20)         DEFAULT    NOT NULL,   price  DOUBLE(16,2)       DEFAULT 0.00 NOT NULL,   PRIMARY KEY(article, dealer));      INSERT INTO shop VALUES   (1,A,3.45),(1,B,3.99),(2,A,10.99),(3,B,1.45),(3,C,1.69),   (3,D,1.25),(4,D,19.95);      好了,例子数据是这样的:      SELECT * FROM shop      +---------+--------+-------+   | article | dealer | price |   +---------+--------+-------+   |  0001 | A   | 3.45 |   |  0001 | B   | 3.99 |   |  0002 | A   | 10.99 |   |  0003 | B   | 1.45 |   |  0003 | C   | 1.69 |   |  0003 | D   | 1.25 |   |  0004 | D   | 19.95 |   +---------+--------+-------+    3.1 列的最大值  “最大的物品号是什么?”      SELECT MAX(article) AS article FROM shop      +---------+   | article |   +---------+   |    4 |   +---------+    3.2 拥有某个列的最大值的行  “找出最贵的文章的编号、商人和价格”      在ANSI-SQL中这很容易用一个子查询做到:      SELECT article, dealer, price   FROM  shop   WHERE price=(SELECT MAX(price) FROM shop)    在MySQL中(还没有子查询)就用2步做到:    用一个SELECT语句从表中得到最大值。   使用该值编出实际的查询:   SELECT article, dealer, price   FROM  shop   WHERE price=19.95     另一个解决方案是按价格降序排序所有行并用MySQL特定LIMIT子句只得到的第一行:      SELECT article, dealer, price   FROM  shop   ORDER BY price DESC   LIMIT 1      注意:如果有多个最贵的文章( 例如每个19.95),LIMIT解决方案仅仅显示他们之一!    3.3 列的最大值:按组:只有值  “每篇文章的最高的价格是什么?”      SELECT article, MAX(price) AS price   FROM  shop   GROUP BY article      +---------+-------+   | article | price |   +---------+-------+   |  0001 | 3.99 |   |  0002 | 10.99 |   |  0003 | 1.69 |   |  0004 | 19.95 |   +---------+-------+ 3.4 拥有某个字段的组间最大值的行  “对每篇文章,找出有最贵的价格的交易者。”      在ANSI SQL中,我可以用这样一个子查询做到:      SELECT article, dealer, price   FROM  shop s1   WHERE price=(SELECT MAX(s2.price)          FROM shop s2          WHERE s1.article = s2.article)     在MySQL中,最好是分几步做到:     得到一个表(文章,maxprice)。见3.4 拥有某个域的组间最

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档