基础
查询
常用的
SELECT语句 | 意义 | 注意 |
---|---|---|
select prod_name from products | 检索单个列 | |
select prod_id, prod_name from products | 检索多个列 | |
select * from products | 检索所有列 | |
select distinct vend_id from products | 返回不同值(去重) | distinct 作用于所有的列 |
select top 5 prod_name from Products | 返回头5个 | 限制SQL Server和Access等,mysql用limit 5 offset 5 |
- - 这是条注释;/* */ | 注释 |
子句
排序
ORDER BY语句 | 意义 | 注意 |
---|---|---|
SELECT prod_name FROM Products ORDER BY prod_name | 按字母顺序排序 | 指定该子句,应确保是最后一条子句,否则出现错误消息。而且可以用费检索的列排序 |
SELECT prod_id, prod_name FROM Products ORDER BY prod_price, prod_name | 按多个列排序 | 多个行有相同的prod_price,才按prod_name排序 |
SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2, 3 | 按结果2,3列排序 | |
SELECT prod_id FORM Products ORDER BY prod_price DESC | 默认A-Z,要Z-A需要指定DESC | 默认是ASC |
过滤
WHERE 语句 | 意义 | 注意 |
---|---|---|
SELECT prod_name, prod_price FROM Products WHERE prod_price = 3.49 | 只返回prod_price值为3.49的行 | |
= | 等于 | |
< > | 不等于 | |
!= | 不等于 | |
< | 小于 | |
<= | 小于等于 | |
!< | 不小于 | |
> | 大于 | |
>= | 大于等于 | |
!> | 不大于 | |
BETWEEN | 指定的两个值之间 | |
IS NULL | 为NULL值 | |
AND | 组合Where。 检索满足所有给定条件的行 | ()确定求值顺序 |
OR | 条件或 | ()确定求值顺序 |
SELECT prod_name FROM Products WHERE vend_id IN (‘DLL01’, ‘BRS01’) ORDER BY prod_name | 检索有供应商DLL01和BRS01制造的所有产品 | in 更清楚,执行更快,可包含其他select语句 |
SELECT prod_name FORM Products WHERE NOT vend_id = ‘DLL01’ | WHERE子句中用来否定其后条件的关键字 |
通配符过滤
推荐博文
作者简介
多肉,饿了么资深python工程师。曾在17年担任饿了么即时配送众包系统的研发经理,这篇文章最早的版本就诞生于那段时间,目前负责配送相关业务系统的整体稳定性建设。个人比较喜欢c和python,最近有点迷rust,同时还是个archlinux的日常用户,有类似爱好的欢迎交流
作者:饿了么物流技术团队
链接:https://juejin.im/post/5c2345546fb9a049d9753fac
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。