黑马1

--------------聚合函数的一些问题------------

--聚合函数不统计空值

select avg (age) from student

select sum(age) from student

--如果使用聚合函数的时候,没有手动group by ,那么聚合函数会把整个表中的数据当做一组来统计

--------------------带条件查询------------------

select 列 from 表名 where 条件

--查询没有及格的学生(假设:数学或者英语,只要有一门没有及格的就叫做没有及格)的学号

select * from student select stuID from student where english <60 or math<60

--查询年龄在20-30之间的男学生

select * from student  where age >=20 and age <=30 and sex=‘男‘

--查询数学成绩在80-90之间的学生

select * from  student where math between 80 and 90

--查询所有班级ID为3,4,5的学生

select * from student where classID=3 or classID=4 or classID =5

select * from student where classID in (3,4,5)

--对于in或者or查询,如果查询中的条件是连续的几个数字,最好使用>= ,<=

select * from student where classID>=3 and classID< =5

-----模糊查询-----------(针对字符串)

--通配符:_    %    []   ^

--_表示任意的一个字符

--两个字的

select * from student where name like‘张_‘

--三个字的 select * from student where name like‘张__‘

--无论姓名几个数字,只要第一个数字是张的就查询出来

select * from student where name like‘张%‘ and

--[]表示筛选,范围。

select * from student where name like ‘张[0-9]妹‘

select * from student where name like ‘张_妹‘

select * from student where name like ‘张[a-z]妹‘

select * from student where name like ‘张[a-z0-9]妹‘

--两者不同 not限制了张和妹

select * from student where name like ‘张[^0-9]妹‘

select * from student where name not like ‘张[0-9]妹‘

--只查询中间带百分号的人

select * from student where name like ‘%[%]%‘

--[]默认转义符   escape ‘/‘ 指定转义符

select * from student where name like ‘%/[%      escape ‘/‘

------------空值处理-------------

--查询所有年龄为空的同学信息

--null值无法用=或者<>来进行比较

--判断null值必须用is null 或者is not null

select * from student where name is null

--查询所有年龄不为null的同学信息

select * from studnet where name is not null

-----------通过order by 语句进行排序-----------

--1.降序order by 列名 desc

--2.升序 order by 列名 或者 order by 列名 asc

--3.order by 语句必须一定要放在整个sql语句的最后面。

select * from biao inner join... where... group by... having... order by ...

--4.根据多列进行排序 --先根据英语成绩排序,在根据数学成绩排序(指的是英语成绩相同的时候 再按照数学成绩排序)

select * from student order by english desc ,math desc

--5.可以根据表达式排序

select * from student order by (english+math)/2 desc

--请从学生表中车讯出每个班级的班级ID和班级人数

select   classID as ‘班级ID‘,

  班级人数=count(*)

  from student

   group by classID

--请统计出,所有中男同学与女同学的人数分别是多少

select

    性别=‘sex‘,

   人数=count(*)

   from student group by sex

--请从学生表中车讯出每个班级的班级ID和班级中男同学人数

select

  classID as ‘班级ID‘,

    男同学人数=count(*)

   from student

  where sex=‘男‘ group by classID

--当使用了分别语句(group by)或者是聚合函数的时候,在select的不能含有其他的列,除非该列也出现在了group by或者聚合函数中。

--对分组以后的数据进行筛选使用having

--having和where都是对数据进行筛选,where是对分组前的每一行书记进行筛选,having是对分组后的数据进行筛选。

select

  classID as ‘班级ID‘,

  班级人数=count(*)

   from student

  group by classID

  having count(*)>10 order by 班级人数 asc

--执行顺序

1.from

2.on

3.join

4.where

5.group by

6with cube或者with rollup

7.having

8.select

9.disinct

10.order by

11.top

时间: 2024-10-18 23:20:53

黑马1的相关文章

618黑马的背后,锤子科技也用ERP?还是SAP的?

2017年8月,罗永浩宣布锤子科技获得约10亿人民币融资,接下来的未来3年要让锤子手机进入到国内市场三强,未来5年成为全球三强. 在2017年京东618手机销售排行榜, 6月1日至18日的手机累计销量排名中,锤子科技位列第七.手机销售额排名第八,与苹果.华为.小米等大牌厂商共列TOP10,成为最强黑马.就在去年 618时,锤子科技还默默无闻,今年凭借着坚果Pro实现了品牌销售额同比增长3006%,位居增长第一. 在锤子科技成为今年618黑马的背后,除了坚果Pro的亮眼技术与设计外,还有一个默默做

黑马程序员——网络编程篇

------- android培训.java培训.期待与您交流! ---------- 概述   1.网络模型        (1).OSI参考模型        (2).TCP/IP参考模型   2.网络通讯要素         (1).IP地址        (2).端口号         (3).传输协议    3.过程        1,找到对方IP. 2,数据要发送到对方指定的应用程序上.为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识. 为了方便称呼这个数据,叫做端口(逻

网易独特的创新机制,能否让网易云成为一匹黑马?

(上图为网易杭州研究院执行院长汪源) 2016年11月10日,网易发布了2016年Q3财报,其中净收入92.12亿元人民币.同比增长38.1%,净利润为27.4亿元,同比增长45.6%,而同期的百度Q3财报显示总营收首次出现下滑,阿里Q3的净利润也下降59%.当然,百度和阿里的总体市值仍然高于网易,但网易近年来神奇的股价表现背后,到底是什么样的内在原因? 2016年11月25日,在北京国家会议中心召开的GITC 2016全球互联网技术大会上,网易杭州研究院(以下简称网易研究院)执行院长汪源回顾了

从垄断性寻找大黑马

从垄断性寻找大黑马: A股市场反复震荡,但对于具有战略目光的投资者来说,市场低迷正好为他们选择个股提供了极佳的机会,因为震荡市非主升浪才会有价值被低估的品种,这时候选股首先要考虑稀缺性! 垄断性稀缺性是巴菲特选股的重要前提,茅台.机器人这些股票之所以长期屹立不倒,原因就是它们的稀缺垄断性,行业不可替代,所以奇货可居,股价自然居高不下!但现在这样高位的股票不是我们选股的方向了,而是选择补涨板块中的龙头股!今天留个作业,大家在有色.钢铁.煤炭.机械.化工这些滞涨板块中选择龙头组建自己的股票池!

黑马程序员------IO(五)

黑马程序员------IO(五) 1.1  操作对象(示例1)ObjectInputStream与ObjectOutputStream 被操作的对象需要实现Serializable. Serializable:用于给被序列化的类加入ID号,用于判断类和对象是否是同一个版本 类通过实现java.io.Serializable接口以启用序列化功能,Serializable只是一个标记接口. 1 示例1: 2 import java.io.*; 3 4 class ObjectStreamDemo 5

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

黑马程序员[email&#160;protected]和@synsthesize的使用

一.@property和@synthesize的基本使用 @property :可以自动生成某个成员变量的setter和getter的声明(@property int age;).写在@interface里面: @synthesize :自动生成age的setter和getter,并且在方法内部访问的是_age这个成员变量(@synthesize age = _age; // 如果后面不写=_age默认就是访问age成员变量).写在@implementation里面: 二.@property和@

黑马程序员_关于黑马java班入学测试技术分享-后五(二)

??????????????????????????????????????????????????????????????????????????-----Java培训.Android培训.iOS培训..Net培训.期待与您交流! 作为本人首篇黑马技术博客有必要交代一下背景.个人理解博客的用作在于于己在于交流,于他在于学习,在交流学习中共同成长.下面进入正题.本文主要是介绍在做黑马入门测试时的一些问题(这个应该不是泄露题库吧). 本文只要是讲述黑马程序员基础测试题的6-10题,回过头来分析明显

黑马程序员_API

------- android培训.java培训.期待与您交流! ---------- ======================API========================================= 看api的步骤: 1.看类的说明.其所属的包以及出现的版本. 2.看其构造函数. 3.看普通的方法.看时注意参数,和返回值类型. Object类 1. private static native void registerNatives (); 见到本地关键字修饰的方法,这个方

黑马程序员_集合

集合1.集合和对象数组的区别: 数组的长度不可变,集合的可变: 数组可以存储基本数据类型和对象,集合只能存储对象. 集合的框架图 集合派系的顶层接口Collection1.Collection集合存储对象的方法: add(E e)将元素存储到集合中 addAll(Collection c)将一个集合添加到另外的集合中2.Collection集合提取对象的方法: 通过迭代器iterator中的方法:hasNext()和next()来取出 Iterator it=new iterator(); wh