select查询语句
select语句:用于从表中选取数据
简单查询:
格式:select 列名称 from 表名称;(如果要选取多个列名称,可以用逗号隔开;若是全部列,则用*取代列名称)
select语句只会将结果检索出来,并不会影响底层的数据
eg:
提示:星号(*)是选取所有列的快捷方式
扩展:
1.更改别名:as:可以为列名称和表名称指定别名
as可以省略,直接select lastname family,fistname name from persons;
假若指定成中文名称,要用单引号括起来
条件查询:添加where子句
首先要知晓运算符这个东东:
注意:1.一般条件值都要用引号括起来,除了数字不用之外,连日期也要用引号括起来
1.between...and...操作符: 选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期
【不同数据库系统对between and范围的操作方式不同,注意检查】
eg:以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人
eg:以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)范围之外的人
2.is NULL 跟 is not NULL操作符
NULL在数据库中,不是一个具体值,代表什么都没有,它不是一个数据,不能用“=”来赋值,必须使用is NULL 跟 is not NULL操作符
select * from persons where address is NULL;
3.SQL AND & OR 运算符
AND的优先级大于OR,当and跟or同时存在时,记得用括号把or先括起来
4.通配符:在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
[]:目标匹配字符:匹配单个字符,若写了多个,匹配任一
下列分为几个场景对这四个通配符进行应用:
persons表如下:
1.选取居住在以 "Ne" 开始的城市里的人
2.取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er"
3.选取居住的城市以 "A" 或 "L" 或 "N" 开头的人
SELECT * FROM Persons WHERE City LIKE '[ALN]%'
5.IN 操作符:相当于多个or
eg:选取persons表中lastname为adams跟bush的人
6.order by子句:用于对指定的列表中的列进行排序,默认按升序排序(asc),可用在最后加(desc)来使其降序排序;越前的排序字段先看,靠后的字段可能会用不上
eg:创建一个orders表:
1.以字母顺序显示公司名字:
2.以字母顺序显示公司名字,并以数字顺序显示顺序号:
3.以逆字母顺序显示公司名字:
4.以逆字母顺序显示公司名字,并以数字顺序显示顺序号:
注意:
select id,fistname from persons order by 2;#2是指以按第二个字段的升序排序 相当于select id,fistname from persons order by fistname;