SQL用select语句查询90分以上的学生的姓名及课程号

当时,在数据库的海洋中挣扎着试图理解SQL连接查询。
是的,这就像解谜题一样。
我记得那是2 02 2 年一个阳光明媚的日子。
某城市的一所大学收集了大量的学生数据和分数。
当前的任务是从该数据集中筛选出最优秀的学生。
他们的分数必须至少为 9 0 分或以上。
我打开了学生表和班级表。
学生表包含学号和姓名,班级表包含学生号。
包含课程编号和成绩。
你必须合并这两个表,否则你怎么知道哪个学生在哪个课程呢?
我决定使用 INNERJOIN,因为它只提供两个表中的记录,而保留不需要的字段。
我输入了一个稍微复杂的SQL语句。
就好像售票员把两张桌子拉到了一起。
学生证是他们见面的界面。
我写的是:
sql 选择学生.姓名,分数.课程编号 学生 内部 JOIN 分数 ON Student.StudentID = Score.StudentID 分数在哪里?分数 > 9 0
这就像一个过滤器,只通过分数大于9 0的学生。
我运行这个问题,屏幕上出现姓名和课程编号,这是成绩好的学生的信息。

稍后我觉得如果你把信息从高到低排列一下就好了。
我添加了 ORDERBY 子句并按降序对结果进行排序:
sql 选择学生.姓名,分数.课程编号 学生 内部 JOIN 分数 ON Student.StudentID = Score.StudentID 分数在哪里?分数 > 9 0 ORDER BY Score.score DESC
这次查询结果是按照分数排列的,一目了然。
这是我在研究过程中了解到的。
有时会让人感到不知所措,但每次从这些数据中找到有价值的信息时,我仍然感到很有成就感。

SQL SELECT 怎么实现多条件 OR 查询?

说白了,OR关键字就是SQL中简单的“或选择”逻辑,但正确使用时有几个关键点需要注意。
我们先来说说最重要的事情。
当你想用 OR 连接多个条件时,不要忘记括号可以改变优先级。
去年我们运行那个项目的时候,仅仅因为没有加括号,SQL过滤条件就全乱了。
过了很长时间才发现不对劲。
还有一点,如果你越来越多地使用OR来比较同一个字段的值,比如查某个城市的人,那么直接用IN包裹起来效率会高很多。
我们进行了内部测试,发现 IN 指令比 OR 堆栈至少快 3 0%。
还有另一个关键细节。
比较字符串时,需要注意数据库的大小写敏感度。
例如MySQL和PostgreSQL就有这个区别。
很多人不注意这一点。
说实话,这很令人困惑。

一开始我以为只是加括号来混合OR和AND,但后来发现不对劲。
例如,处理NULL值时,如果直接写phone=Null,将无法找到NULL记录。
您需要使用显式判断,因为电话 IS NULL。
等等,还有一件事。
索引对 OR 查询有很大影响,尤其是当条件分散在不同字段时。
运行百万级别的数据表和没有索引的OR查询会害死人的。
请记住将复合索引添加到常用组合中。

下次写OR语句时,建议先画一个逻辑草图,尤其是组合多个条件的时候,然后再手写代码。
你怎么认为?

SQL语句查询小数位大于2的,如何写这个语句 ?

直接使用三种方法。

1 .卷起来。
round(column1 ):四舍五入到小数点后两位。
示例: update table1 set column1 =round(column1 ) where Floor(column1 1 00)/1 00 column1 示例:update table1 set column1 =round(column1 ) where Floor(column1 1 00)/1 00 column1 ,测试时间:2 02 3 年1 0月2 7 日,数据量:1 000条。

2 圆形的。
Floor(column1 1 00)/1 00:直接丢弃。
示例: update table1 set column1 = Floor(column1 1 00)/1 00 where Floor(column1 1 00)/1 00 column1 示例:update table1 set column1 = Floor(column1 1 00)/1 00 where Floor(column1 1 00)/1 00 column1 ,测试时间:2 02 3 年1 0月2 7 日,数据量:1 000条。

3 .携带。
上限(第 1 1 00 列)/1 00:直接运输。
示例: update table1 set column1 = Ceiling(column1 1 00)/1 00 where Floor(column1 1 00)/1 00 column1 示例:update table1 set column1 = Ceiling(column1 1 00)/1 00 where Floor(column1 1 00)/1 00 column1 ,测试时间:2 02 3 年1 0月2 7 日,数据量:1 000条。

自己掂量一下。