SQL语句第三节

1.基本查询

这里以student表为例

SELECT * FROM student;

image-20210111203744864

解释:

SELECT是关键字,表示将要执行一个查询,*代表“全部字段”,FROM表示将要从哪个表查询

注意:查询结果也是一个二维表,它包含列名和每一行的数据

SELECT语句其实并不要求一定要有FROM子句。我们来试试下面的SELECT语句:

SELECT 100+200;

image-20210111203941622

具体查询

SELECT name,sex,age FROM student;

2.条件查询

查询班级号为 20201001 的学生

SELECT * FROM student where class_num = '20201001';

WHERE**关键字后面的class_num= '20201001'就是条件。class_num是列名,该列存储了学生的班级,因此,class_num= '20201001'就筛选出了指定条件的记录:**

image-20210111204550561

查询班级号为 20201001 的学生姓名

SELECT name FROM student where class_num = '20201001';

查询班级号为 20201001 的学生姓名和性别

SELECT name,sex FROM student where class_num = '20201001';

image-20210111204838867

当我们需要查询多列的时候我们需要使用 ',' 来进行分割

查询班级号为 20201001 或者性别为男的学生姓名

SELECT name FROM student where class_num = '20201001' or sex = '男';

查询班级号为 20201001 并且性别为男的学生姓名

SELECT name,sex FROM student where class_num = '20201001' and sex = '男';

当我们需要以多列作为查询条件的时候我们需要使用 'or' 或者 ‘and’**来进行区分**

and是并且,or是单独一个,not是否定

查询班级不在 20201001 班的同学的姓名

SELECT name FROM student where not class_num = '20201001' ;

image-20210111210031679

NOT <条件>**,表示“不符合该条件”的记录**

查询性别为女的同学姓名并且不在20201001班

SELECT name FROM student where sex ='女' and not class_num = '20201001';

3.排序查询

我们使用SELECT查询时,细心的读者可能注意到,查询结果集通常是按照id排序的,也就是根据主键排序。这也是大部分数据库的做法。如果我们要根据其他条件排序怎么办?可以加上ORDER BY子句。例如按照年龄从低到高进行排序:

SELECT * FROM student ORDER BY age;

如果要反过来,按照年龄从高到底排序,我们可以加上**DESC表示“倒序”:**

SELECT * FROM student ORDER BY age DESC;

如果想按照年龄降序,并且按照学号升序怎么弄?

SELECT * FROM student ORDER BY age DESC,sno;

默认的排序规则是**ASC:“升序”,即从小到大。ASC可以省略,即ORDER BY score ASC和ORDER BY score效果一样。**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值