sql基本查询语句
查询语句的五中字句:where(条件查询),having(筛选),group by(分组),order by(排序),Limit(限制结果数)
一 单表查询
1、查询指定列:select 列名 from 表名;
2、查询全部的列:select * from 表名(*表示查询表中的所有列)
3、去除重复行的数据:select distinct 列名 from 表名
二 指定条件查询 --where
查询满足条件的元组,一般通过where 语句实现:select 列名 from 表名 where 条件
例子:
1、比较:select * from lu_order where sku ='123'
2、确定范围 :select * from lu_order where stage between 20 and 30
3、确定集合:select * from lu_order where sku in('123','1232','1232323')
4、字符匹配:select *from lu_order where sku like '%123_' (%_指通配符,%可表示任意字符长度的字符,_表示单个字符)
5、空值:select * from lu_order where sku is null
6、多重条件逻辑运算: select * from lu_order where sku=‘123’ and type=‘234’
三 order by使用
对查出的元组按指定的列(一个或多个)按升序(asc)或降序(desc)排序
1、升序:select * from lu_order order by id asc
2、降序:select * from lu_order where sku=‘122’ order by sku desc
四 group by
将查询结果按照某一列或多列进行分组,值相等的为一组。一般是为了细化聚合函数的作用对象,若未进行分组,则聚合函数是作用整个查询结果;若分组了,则是每个组一个聚合函数作用。
常用的聚合函数有:
例如:
1、未分组,使用聚合函数:select count(*) from lu_order--->计算出表中的所有元组数量
2、分组,使用聚合函数:select ordernumber,count(*) from lu_order group by ordernumber--->ordernumber相同的为一组,得出每组中包含的元组数量
五 having子句
对分组后的结果进行筛选,得出符合条件的组。注意:使用having则,查询语句中必须使用了group by,否则会报错。
例如:
1、select ordernumber,count(*) from lu_order group by ordernumber having ordernumber in('1','2','3')--->ordernumber相同的为一组,得出每组中包含的元组数量
六 limit 字句
限制结果显示的条数。
例如:
1、查询前3行的数据:select * from lu_order limit 0,3
七 多表查询
表跟表之间通过某些条件,连接起来。
1、自然连接:select a.*,b.* from lu_order a,lu_order_detail b where a.ordernumber=b.ordernumber
2、自身连接:select a.*,b.* from lu_order a,lu_order b where a.ordernumber=b.ordernumber
3、左连接:select a.*,b.* from lu_order left out join lu_order_detail
4、右连接:select a.*,b.* from lu_order right out join lu_order_detail
八 嵌套查询
在select-from-where..称为一个查询块,将一个查询块嵌套在另一个查询块的where或having子句中的就叫做嵌套查询。
例如:
1、select ordernumber,sku,carrier from lu_order where ordernumber in(select ordernumber from lu_order_detail where ordernumber='1')
sql基本查询语句的更多相关文章
- SQL逻辑查询语句执行顺序 需要重新整理
一.SQL语句定义顺序 1 2 3 4 5 6 7 8 9 10 SELECT DISTINCT <select_list> FROM <left_table> <joi ...
- 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?
如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括:如何 ...
- python 3 mysql sql逻辑查询语句执行顺序
python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_t ...
- mysql第四篇--SQL逻辑查询语句执行顺序
mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 SELECT DISTINCT <select_list> FROM <left_table> < ...
- SQL Server SQL高级查询语句小结(转)
--select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select disti ...
- 45、SQL逻辑查询语句执行顺序
一 SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOI ...
- sql的查询语句的总结
一:基本的查询sql 1:基本常用查询 select * from student; --select select all sex from student; --all 查询所有 select d ...
- NumberFormatException: Invalid int类型不匹配异常——使用SQL数据库查询语句select * from blacknumber order by _id desc limit ?,20;出现
异常:类型不匹配 05-06 08:12:38.151: E/AndroidRuntime(14904): java.lang.NumberFormatException: Invalid int: ...
- 第四篇:记录相关操作 SQL逻辑查询语句执行顺序
http://www.cnblogs.com/linhaifeng/articles/7372774.html 一 SELECT语句关键字的定义顺序 SELECT DISTINCT <selec ...
- SQL逻辑查询语句执行顺序
阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SELECT语句关键字的定义顺序 SELE ...
随机推荐
- [转] Javascript模块化编程(一):模块的写法
随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...
- thinkphp调用微信jssdk开发
一:准备文件,并将文件置于网站根目录下 access_token.json {"access_token":"","expire_time" ...
- [BZOJ3011][Usaco2012 Dec]Running Away From the Barn
题意 给出一棵以1为根节点树,求每个节点的子树中到该节点距离<=l的节点的个数 题解 方法1:倍增+差分数组 首先可以很容易的转化问题,考虑每个节点对哪些节点有贡献 即每次对于一个节点,找到其第 ...
- WPF中datagrid不显示滚动条问题
WPF中DataGrid是自带滚动条的,当内容显示不下时可以使用滚动条显示.但是,开发中遇到了DataGrid一直不显示滚动条.之前也曾遇到过同类问题,再次经过查找,发现是StackPanel的原因, ...
- kafka其中一台节点坏掉的迁移或者数据迁移
kafka版本:适用于目前2.0以下 第一步: 假如有一个topic叫做test,当前topic的详情是这样的: [cdh@cdh1 kafka_2.11-1.0.1]$ bin/kafka-topi ...
- fillder--信息面板显示请求耗时列
class Handlers--------->Ctrl+R,找到该方法,加上以下方法即可 { // 显示每行请求的发起时间:时分秒毫秒 public static BindUIColumn(& ...
- js去掉前后空格
//去前后空格 data=data.replace(/(^\s*)|(\s*$)/g, "");
- 004 Java的一次面试题,学长列举
据说是Java的面试题,感觉有些汗颜,所以决定研究一下. 1.线程.进程.协程的区别,他们怎么进行线程的交互? 2.k8s内的scheduler怎么做的,流程?跟etcd怎么交互? 3.hashmap ...
- vue回调函数无法更改model的值
data:{ isUpload:true, } 点击上传函数: getFile(event) { //选择图片 let eventId = event.target.id; let type= tes ...
- datatables出现横向滚动条
datatables会扩大表单的宽度,设置为table-responsive 自适应的时候则会出现滚动条.