select语句用于根据条件从数据库中获取所需的数据(如果有)。该数据以表格的形式返回。
select语句的基本语法是-
Select column 1, column 2 ... column N From table_name
select语句的一个示例是-
<学生>
学生号码 |
学生姓名 |
学生电话 |
学生分数 |
学生_主修 科目 |
1 |
安德鲁 |
6615927284 |
95 |
文学 |
2 |
莎拉 |
6583654865 |
65岁 |
数学 |
3 |
哈里 |
4647567463 |
48 |
文学 |
4 |
莎莉 |
6537837084 |
30 |
文学 |
5 |
安妮 |
7457337732 |
88 |
数学 |
查询-
Select Student_Name From Student
此查询产生以下结果-
学生姓名 |
安德鲁 |
莎拉 |
哈里 |
莎莉 |
安妮 |
上面给出的select语句示例很简单,但实际上没有用。因此,还有许多其他与select语句关联的子句使它更有意义。其中一些是-
where子句用于过滤数据,即它返回满足特定条件的信息。例如-
Select Student_Name From Student Where Student_Marks >50
该查询将返回以下结果:
学生姓名 |
安德鲁 |
莎拉 |
安妮 |
这通常与聚合函数一起使用,以根据列的值对结果集进行分组。例如-
Select Count (Student_Number), Student_MajorSubject From Student Group by Student_MajorSubject
该查询将返回以下结果-
计数(学生人数) |
Student_MajorSubject |
3 |
文学 |
2 |
数学 |
这与Group By子句一起使用,因为聚合函数无法使用Where子句。例如-
Select Count(Student_number), Student_MajorSubject From Student Group by Student_MajorSubject Having Count(Student_Number) > 2
该查询将返回以下结果-
计数(学生人数) |
Student_MajorSubject |
3 |
文学 |
order by关键字用于按升序或降序对结果进行排序。默认情况下,假定顺序为升序。例如-
Select Student_Name From Student Where Student_Marks>50 Order by Student_Marks
该查询将返回以下结果-
学生姓名 |
莎拉 |
安妮 |
安德鲁 |
问题内容: 我将如何在没有硬编码值的情况下编写此sql语句? 宁愿有这样的事情: 提前致谢.. 问题答案: 用您当前的方式构造SQL查询是一个糟糕的主意,因为它为各种SQL注入攻击打开了大门 。为了正确执行此操作,您必须改为使用“ 预备语句”。这也将解决您目前显然遇到的各种逃避问题。 请注意,这是一个昂贵的调用(除非您的应用程序服务器使用语句缓存和其他类似的功能)。从理论上讲,最好先准备一次语句,
问题内容: 在WHERE子句中有使用SELECT语句描述的名称吗?这是好/不好的做法吗? 这会是更好的选择吗? 它远没有那么优雅,但是运行起来比以前的版本要快。我不喜欢它,因为它在GUI中没有非常清晰地显示(并且SQL初学者需要理解它)。我可以将其分为两个独立的查询,但是随后事情变得混乱了…… 注意:我不仅需要日期和分数(例如姓名) 问题答案: 称为相关子查询。它有它的用途。
问题内容: 我有一个查询应该这样运行- 我如何在T-SQL中实现此目标而不为每个子句编写单独的查询?目前我正在运行它 只是为了根据值选择不同的列而已,这只是大量的冗余代码。还有其他选择吗? 问题答案: 此处仅需注意,出于优化的原因,最好有3个单独的SELECTS。如果只有一个SELECT,则生成的计划将必须投影所有列col1,col2,col3,col7,col8等,尽管取决于运行时@var的值,
SELECT 语句,FROM 子句示例 下列示例假设在员工表中存在一个假设的工资字段。请注意,此字段 实际上在 Northwind 数据库员工表之中并不存在。 此示例创建一个 dynaset 型 Recordset,基于 SQL 语句选择在员工表中的所有纪录的姓和名字段。它调用 EnumFields 过程,且该过程打印 Recordset 对象的内容到“调试”窗口。 Sub SelectX1()
数据库:Sybase Advantage 11 在我对数据进行规范化的过程中,我试图删除从以下语句中得到的结果:
问题内容: 我注意到以下代码在Python中是合法的。我的问题是为什么?是否有特定原因? 问题答案: else仅当你的while条件为假时才执行该子句。如果你break超出循环范围,或者引发了异常,则不会执行该异常。 考虑它的一种方法是关于条件的构造: 一个示例可能类似于: