ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL 必知必会(学习笔记一)

2022-03-01 01:02:37  阅读:210  来源: 互联网

标签:name 必知 price SQL Products 必会 prod ORDER SELECT


SQL 必知必会(学习笔记一)

了解SQL

大一的时候有开始接触过Mysql,下载下来完了下,创建root账号登录登出权限,接着搞了下数据库create DATABASE ,然后求知欲不是很强,弄了一个helloworld就止步于此了
一直到后面两门课程设计即使用了Mysql都直接用的别人现成的.sql文件,毕业设计就更简单了,mongodb有手就行。存的也是json,demo就几条数据用着还挺爽。

工作了就不行了,公司用的就是mysql,刚开始还好,写的都是内存相关,基本都没接触到数据库内容。

直到有一天我写了个 致命功能,误用write和update,我发现的时候已经在现网已经运行了一段时间,这个问题会导致用户的数据异常,更疯狂的是当时我为了改这个bug还差点误删了其他用户的数据,虽然后面都一一补救回来了,但是这个事情确实使我震撼住了,以后凡是涉及到数据库的操作一定要小心。正好的是今天需要找回一个用户的数据,我发现我对sql可以说一窍不通,百度了一条正确的语句成功搞定这个任务了。说着就今天就趁此机会深入学习了sql

检索数据

使用SELECT语句来检索

单列

SELECT prod_name
FROM Products;

多列

SELECT prod_id,prod_name,prod_price
FROM Products;

所有列

SELECT *
FROM Products;

是通配符*,代表返回表中所有列。

  • 检索不同的值
SELECT DISTINCT vend_id
FROM Products;

只返回不同(具有唯一性)的vend_id行。如果需要使用DISTINCT关键字,必须放在列名的前面,并且作用于所有的列

  • 找对应的行
SELECT prod_name
FROM Products
WHERE ROWNUM <=5;

小于五的行

排序检索数据

  • 单列
    前面使用的SELECET检索出来的数据是无序的,为了明确排序用SELECT语句检索出的数据,使用ORDER BY子句取一个或者多个列的名字
    从A_Z是默认的排序顺序
SELECT prod_name
FROM Products
ORDER BY prod_name

ORDER BY必须放在末尾

  • 多列
SELECT prod_id, prod_price,prod_name
FROM Products
ORDER BY prod_price,prod_name

优先按照prod_price排序,若相同按照prod_name排序

  • 除了按照名字指出排序顺序以外,还可以使用相对列位置进行
  • ORDER BY 2,3; 和上面的命令实现了同样的效果(不建议使用)

若要降序(Z_A),需要指定DESC关键字

SELECT prod_id,prod_price,prod_name
FROM Products
ORDER BY prod_price DESC;

按照价格降序排序(最贵的将会排在最前面)

DESC只应用到直接位于他前面的列名。如

ORDER BY prod_price DESC,prod_name;

这里的prod_price 将会按照降序排列,但是相同的价格,会按照prod_name 升序排列

标签:name,必知,price,SQL,Products,必会,prod,ORDER,SELECT
来源: https://www.cnblogs.com/celiachu/p/15948348.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有