【如何成为SQL高手】第五关:select语句基本用法

简介: 【如何成为SQL高手】第五关:select语句基本用法

本文案例导入以下sql文本即可,通过百度网盘下载

mysql> source h:\db_school.sql

网盘链接:https://pan.baidu.com/s/1rvJhB6it8rvOMeqMjRAGlg?pwd=0hx1


d9b4790b960e4376b9631784cc64aa26.png


1.表结构及信息



1.1 tb_class

ef3c9f58fcc04039be5e96add07375dc.png


1.2 tb_course

98ceabebd51d43fbb929a53d9cd6512e.png


1.3 tb_course


d702291170314a10a04289f6e6cf76e1.png


1.3 tb_course

bb7c0f4a64c94138bd81f96c152968d8.png

2.实战案例



1.查询所有班级的班级编号、所属学院和班级名称

select classNo,department,className from tb_class;

5c46e0f655c64af8a71d489b7ac9c5da.png



2.从tb_class表中查询所有的学院名称。

select distinct department from tb_class;


2bfd0236462b41c796c55dd594433801.png


3.查询全体学生的详细信息


select * from tb_student;

4.查询全体学生的姓名、性别和年龄

select studentName,sex,year(now())-year(birthday) age from tb_student;

cf5a2016a52f43d1bb13623d63df512d.png

5.查询全体学生的姓名、性别和年龄,要求用汉语显示目标列表的名称。


select studentName as ‘姓名’,

sex as ‘性别’,

year(now())-year(birthday) as ‘年龄’

from tb_student;

213faaf33c434a07ae48d8a30b4468af.png


6.查询课时大于等于48学时的课程名称和学分

select courseName,credit from tb_course

where courseHour >= 48;

11d1d5a0636a43f1834be19c2f758053.png


7.查询少数民族学生的姓名、性别、籍贯和民族

select studentName,sex,nation, native

from tb_student where nation <> ‘汉’;

af8ab204656e417f84b9ea051bfd4ab4.png


8.查询1997年出生的学生姓名、性别和具体日期。

select studentName,sex,birthday

from tb_student

where year(birthday)=1997;


6f7dd1c799164d8b8fe02fec7b2698ab.png


9.查询不是1997年出生的学生姓名、性别和具体日期。

select studentName,sex,birthday

from tb_student where year(birthday)!=1997;


54d9f93d5a914343a17c9e55db5fddef.png


10.查询籍贯是北京、天津和上海的学生信息。

select * from tb_student

where native in (‘北京’,‘天津’,‘上海’);

cef1cde73eeb467da9eae45f714f4a0f.png


11.查询籍贯不是北京、天津和上海的学生信息。

select * from tb_student

where native not in (‘北京’,‘天津’,‘上海’);


12.查询2013年入学的学生全部信息。

select * from tb_student

where left(studentNo,4)=‘2013’;

b1750f33f1a44df7844f9cc44b5a2e16.png


13.查询所有姓王的学生的学号、姓名和班级编号。

select studentNo,studentName,classNo

from tb_student where studentName like ‘王%’;


384c9c27d56549c48ec2869ab17100b4.png

14.查询所有不姓王的学生的学号、姓名和班级编号。

select studentNo,studentName,classNo from tb_student

where studentName not like ‘王%’;


15.查询姓名中包含‘林’字的学生的学号、姓名和班级编号。

select studentNo,studentName,classNo

from tb_student where studentName like ‘%林%’;


16.查询姓王的且姓名为三个字的学生的学号、姓名和班级编号。

select studentNo,studentName,classNo from tb_student

where studentName like ‘王%’ and CHAR_LENGTH(studentName)=3;


63e54007695c487ca2b76a09b664743a.png


17.查询课程名称中包含’-‘符号的课程信息;

select * from tb_course where courseName like ‘%-%’;


18.查询课程名称中带有中文‘系统’的课程信息。

select * from tb_course where courseName like ‘%系统%’;


19.查询课程名称中含有‘管理’、‘信息’或者‘系统’的课程信息。

select * from tb_course

where courseName like ‘%管理%’ or courseName like ‘%信息%’ or courseName like ‘%系统%’;

8b47806a06d8482eaa420c5afae4f1b5.png

20.查询缺少先修课的课程信息。

select * from tb_course where priorCourse is null;


21.查询所有有先修课的课程信息

select * from tb_course where priorCourse is not null;

2031612eec0449df9d74b7886fcff6ae.png



22.查询学分大于等于3且学时数大于32的的课程名称、学分和学时数。

select courseName,credit,courseHour

from tb_course

where credit=3 and courseHour>32;


1d71b724569e4cb0ac2e88aa8d8391ba.png


23.查询籍贯是北京或者上海的学生的姓名、籍贯和民族。

select studentName,native, nation

from tb_student

where native in (‘北京’,‘上海’);


24.查询籍贯是北京或湖南的少数民族男生的姓名、籍贯和民族。

select studentName,native, nation

from tb_student where native in (‘北京’,‘湖南’)

and nation<>‘汉’;


25.查询学生的姓名、籍贯和民族,并将查询结果按姓名升序排序。

select * from tb_student order by studentName;

1402500926ff45bc8c8371b426296aba.png


26.查询学生选课成绩大于85分的学号、课程号和成绩信息,

并将查询结果先按学号升序排列,再按成绩降序排列。

select * from tb_score

where score>85

order by studentNo,score desc;

f3ad06418bf4494182589d94663be6d6.png


27.查询成绩排名第3至第5的学生学号、课程号和成绩

select * from tb_score

order by score desc limit 2,3;

091c845768634f17bb951c92830a65ba.png

目录
相关文章
|
2月前
|
SQL 数据库
20、绕过去除and、or、union select、空格的sql注入
20、绕过去除and、or、union select、空格的sql注入
32 0
|
4月前
|
SQL 数据库
SQL 查询优化指南:SELECT、SELECT DISTINCT、WHERE 和 ORDER BY
SQL的SELECT语句用于从数据库中选择数据。SELECT语句的基本语法如下:
55 1
|
4月前
|
SQL
SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法
SQL的AND运算符用于根据多个条件筛选记录,确保所有条件都为TRUE才返回记录。下面是AND运算符的基本语法:
52 1
|
4月前
|
SQL Oracle 关系型数据库
SQL 数据操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 语
SELECT INTO 语句将数据从一个表复制到一个新表中。
62 1
|
4月前
|
SQL Oracle 关系型数据库
|
2月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
51 0
|
1月前
|
SQL 存储 关系型数据库
SQL的基本语法以及SQL语句的关键字的使用,SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP等。
SQL的基本语法以及SQL语句的关键字的使用,SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP等。
|
28天前
|
SQL 关系型数据库 MySQL
SQL INSERT INTO order_record SELECT * FROM 从一张表查出数据插入到另一张表
SQL INSERT INTO order_record SELECT * FROM 从一张表查出数据插入到另一张表
14 0
|
1月前
|
SQL Java 关系型数据库
MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法
MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法
18 0
|
1月前
|
SQL Java 关系型数据库
MyBatis中的9种常用动态sql标签精妙用法
MyBatis中的9种常用动态sql标签精妙用法
63 0