1.基本查询
这里以student表为例
SELECT * FROM student;
解释:
SELECT是关键字,表示将要执行一个查询,*代表“全部字段”,FROM表示将要从哪个表查询
注意:查询结果也是一个二维表,它包含列名和每一行的数据
SELECT语句其实并不要求一定要有FROM子句。我们来试试下面的SELECT语句:
SELECT 100+200;
具体查询
SELECT name,sex,age FROM student;
2.条件查询
查询班级号为 20201001 的学生
SELECT * FROM student where class_num = '20201001';
WHERE**关键字后面的class_num= '20201001'就是条件。class_num是列名,该列存储了学生的班级,因此,class_num= '20201001'就筛选出了指定条件的记录:**
查询班级号为 20201001 的学生姓名
SELECT name FROM student where class_num = '20201001';
查询班级号为 20201001 的学生姓名和性别
SELECT name,sex FROM student where class_num = '20201001';
当我们需要查询多列的时候我们需要使用 ',' 来进行分割
查询班级号为 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' ;
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效果一样。**