【如何成为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 XML Java
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
|
2月前
|
SQL 存储 安全
SQL Server用法
SQL Server用法
63 1
|
3月前
|
SQL 数据挖掘 大数据
如何在 SQL Server 中使用 `SELECT TOP`
【8月更文挑战第10天】
145 7
如何在 SQL Server 中使用 `SELECT TOP`
|
2月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
44 1
|
3月前
|
SQL 关系型数据库 MySQL
INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
【8月更文挑战第7天】INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
38 5
|
3月前
|
SQL 数据挖掘 关系型数据库
|
3月前
|
SQL
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
|
3月前
|
SQL 关系型数据库 MySQL
8、SQL高级用法
8、SQL高级用法
18 0
|
4月前
|
SQL Oracle 关系型数据库
SQL SELECT TOP 子句
【7月更文挑战第13天】SQL SELECT TOP 子句。
29 5
|
SQL 存储
SQL SELECT 语句
SQL SELECT 语句
89 0