SELECT语句
检索单个列
输入
SELECT mo.main_order_no FROM main_order mo
输出
SQL语句不区分大小写,因此SELECT与select是相同的。同样,写成Select也没有关系。许多SQL开发人员喜欢对所有SQL关键字使用大写,而对所有列和表名使用小写,这样做使代码更易于阅读和调试。
检索多个列
输入
SELECT mo.main_order_no,mo.order_status,mo.payment_status FROM main_order mo
输出
SQL语句一般返回原始的、无格式的数据。数据的格式化是一个表示问题,而不是一个检索问题。因此,表示(对齐和显示上面的价格值,用货币符号和逗号表示其金额)一般在显示该数据的应用程序中规定。一般很少使用实际检索出的原始数据(没有应用程序提供的格式)。
检索所有列
SELECT语句还可以检索所有的列而不必逐个列出它们。这可以通过在实际列名的位置使用星号(*)通配符来达到
输入
select * FROM main_order
输出:
注释:
1,如果给定一个通配符(),则返回表中所有列。列的顺序一般是列在表定义中出现的顺序。但有时候并不是这样的,表的模式的变化(如添加或删除列)可能会导致顺序的变化。
2,一般,除非你确实需要表中的每个列,否则最好别使用通配符。虽然使用通配符可能会使你自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。
检索不同的行(去重)-DISTINCT
举例;查询患者库中的患者名称,当前会查出所有的测试 张大仙
输入:select person_name FROM person
输出:
举例;只查询表中,只想得出患者名称为【测试】的商品名称 推荐关键词DISTINCT
输入:SELECT DISTINCT person_name FROM person
输出:
注释
1, SELECT DISTINCT person_name 告诉MySQL只返回不同(唯一)的行,如果使用DISTINCT关键字,它必须直接放在列名的前面。
2,不能部分使用DISTINCT DISTINCT关键字应用于所有列而不仅是前置它的列。如果给出SELECT DISTINCT 字段1 ,字段2,除非指定的两个列都不同,否则所有行都将被检索出来。
限制结果 -LIMIT
SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。为了返回第一行或前几行,可使用LIMIT子句
-
限制输入行数
输入:SELECT person_name FROM person LiMit 5
注释:此语句使用SELECT语句检索单个列。LIMIT 5指示MySQL返回不多于5行
输出:
- 限制开始行和结束行
输入:SELECT DISTINCT person_name FROM person LiMit 2,5;
注释:LIMIT 2, 5指示MySQL返回从行2开始的5行。第一个数为开始
位置,第二个数为要检索的行数.默认一个值从第一行开始
特别注意
1,行0 检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行
2,在行数不够时 LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行(例如,给出LIMIT 10, 5,但只有13行),MySQL将只返回它能返回的那么多行。