SQL - 查询
2024/11/18 4:41:29
来源:https://blog.csdn.net/m0_74403543/article/details/141297496
浏览:
次
关键词:SQL - 查询
- 查询语句
- select子句和from子句,其他子句用于数据的筛选和排序,如where, order by,limit等。
- 子句书写的顺序是有影响的,不能改变这些句子的顺序,不然会出现语法错误。如,select,from,where,order by,limit.
- 子句执行顺序:from-->join-->on-->where-->group by-->having-->select-->distinct-->order by-->limit
- select子句
- select * //返回所有列,会增加用增加服务器和网络的那么大负担
- select first_name,last_name //获取指定的列,获得的列的顺序和自己写的顺序相同,当然列中数据可能会有重复的。
- select (points+10)*100 //可以获得在原有的数据上的运算,就是算数表达式,支持 + - * / %运算。
- select (points+10)*100 as discount_fact //对于一个结果集(表达式),想要一个清晰的描述性名称,使用 AS 关键字,如果这个名字含空格,需要引号包起来。
- select distinct state //获取列的唯一值,也就是 distinct关键字 对列的值有去重作用
- as 关键字:可以为表达式起别名,也可以将查询的列重新命名
- where子句(筛选数据)
- where子句就是对一些字段进行条件限制,如果每行记录的字段符合条件,那么就返回该行记录所要查询的列。在执行查询时,MySQL中的查询执行引擎会遍历表中的每一行信息,评估这个where条件,如果条件正确,会在结果集返回这行信息。
- 运算符
- 比较运算符
- >, >=, <, <=, =, !=, <>,是逻辑判断
- in 运算符
- 在多个同一列值中 判断一个字段,就可以使用 in 或者not in
- 如 where quantity_in_stock in (49,38,72)
- between 运算符
- 如 where points between 1000 and 3000
- like 运算符
- 检索遵循特定字符串模式的记录,可以使用like ,not like
- 如 where last_name like '%b%'
- 如where last_name like '__h',两个字符的姓
- regexp 运算符(正则表达式)
- 如 where address regexp 'trail$',表示address的形式必须是以'trail'为末尾
- 如 where address regexp 'trail|avenue|rose',表示address中包含'trail'或者'avenue'或者'rose'
- 如 where address regexp '[tkl]rail',表示address中包含 'trail',或者'krail',或者'lrail'
- 字符串拼接
- [],使用[]匹配任意在括号里例举的单字符,拼接字符串
- is null 运算符
- 如何搜索缺失了属性的记录,可以使用 is null,不缺失 is not null
- order by子句
- order by first_name //按first_name排序,默认升序
- order by first_name desc //按first_name降序排序
- limit 子句
- 如何限制查询返回的记录数,用limit,limit语句的位置永远都在最后
- limit 6,3 //跳过前6条记录,返回3条记录
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com