打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
学学写点SQL语句,好吗?
userphoto

2018.03.21

关注


写程序要学编程语言,操作数据库要学SQL语句,SQL语句有很多,比如创建数据库,删除数据库,创建表,删除表,修改表等等,但也许你工作中最需要的是「查询」,也就是SQL语句中最经典的Select,Select语句表示要从表中查询出符合一定条件的所有记录。


写SQL语句有点类似于军训中的队列训练,对程序员来说是基础中的基础,以前我们曾经讲过天天鼓捣数据,你知道数据库长啥样吗?,相信你知道「表」是什么样子,假设存在下面一张表,假设表名叫做Staff,我们来写写Select查询语句。




上一节说过Select语句的作用是查询,也就是在此表中根据条件筛选出记录,那先设置不用任何条件的语句:


Select * from Staff


*表示所有记录,也即翻译为从Staff表中挑出所有记录,所以最后结果为(查询除了所有记录):




下面,我们开始设置条件,比如:查询所有性别为female的记录,那要用到where子句,where在英文中可以表示条件,你脑中可以翻译为「当」,SQL语句如下:


Select * from Staff Where sex = ‘female’


翻译为白话为,选出Staff表中所有性别sex为female的记录,结果如下:




当然,where就可以加上很多限制条件了,比如:


Select * from Staff Where sex = ‘female’ AND age > '18'


那结果显而易见了,只有3和5两条记录会被筛选出来。


我们刚才做的条件都是指定某一个字段的条件,都是非常肯定的条件,比如大于18或者性别,可不可以做一些模糊匹配呢?当然可以


Select * from Staff Where name like ‘%g’




筛选出来的是3和5,这条语句的意思是name这个字段以字母g结尾的记录,这里%是一个通配符,可以通配任何字段,比如要筛选出中国有多少人姓「江」,那就可以「江%」来进行通配。


那可不可以对筛选出来的结果进行排序呢?


Select * from Staff ORDER BY cup DESC


是以cup字段进行降序排序,ORDER BY是排序的关键字,DESC表示降序排序,如果此处是ASC,则表示是升序排序,那查询出来的结果是什么样子呢,请看下图:




也许在这个案例中,升序排序的结果会更好一些:)


为啥写的都是Select * 呢,不可以有别的么?必须可以有啊,「*」相当于所有的列都筛选出来,如果选择一个列名或者说字段名,筛选出的记录里面就只包含这个字段了,例如:


Select name,age from Staff ORDER BY cup DESC


那结果如下,会仅仅列出名字和年龄:



下面我们看看SQL语句中的函数如何使用,函数的作用主要用于计算,下面的max就是计算age当中的最大值:


Select max(age) AS MaxAge from Staff



上面主要介绍了Select语句中的条件查询,多条件查询,模糊查询,排序,以及SQL函数的使用。SQL语句博大精深,它是和数据库打交道的唯一方法,我只是介绍了最浅显的一小部分。


如果你要深入的学习SQL语言的知识,你应该从两个大的角度挖掘,第一个是对表的增删改,第二个是查,「查(select)」是变化种类最多,最灵活,也是最核心的,在查询上面可以匹配任意的SQL函数、条件、排序、运算符、子句、索引、联合查询、别名等等。


如果你真的要学习,我劝你还是别买书了,就看看这个网站就好:http://www.w3school.com.cn/sql/


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SQl添加、删除、修改语句
distinct多个字段重复记录选择的方法
常用的SQL语句
sql语句大全(详细)
SQL查询语句 select 详解
标准SQL语法使用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服