--基本格式

select * from tblclass

--对于列进行限制

--格式一:取指定列

select cid,cname from TblClass

select cname from TblClass

--格式二:为列起别名as

select cid as 编号,cname 名称,描述=cdescription from TblClass

--对于行进行限制

--关键字top:表示取前n的数据

select top 2 * from TblClass

select top 2 percent * from TblClass

--关键字distinct:消除重复项

select cdescription from TblClass

select distinct cdescription from TblClass

--where子句

--查询编号大于5的班级

select * from TblClass

where cid>5--比较运算符:> < >= <= <> !=

--查询班级编号在5至8之间的班级信息

select * from TblClass

where cid>5 and cid<8--逻辑运算符:and(&&) or(||) not(!)

--查询班级编号在5至8之间并且描述信息的字符个数大于3的班级信息

select * from TblClass

where cid>5 and cid<8 and LEN(cDescription)>3

--查询班级编号在5至8之间或描述信息的字符个数大于3的班级信息

select * from TblClass

where (cid>5 and cid<8) or (LEN(cDescription)>3)--运算符优先级

--not的优先级最高,仅次于小括号

--取范围,表示在一个连续的范围内between ... and ...[5,8]

select * from TblClass

where cid between 5 and 8

--=============

select * from TblClass

where (cid between 5 and 8) and (LEN(cDescription)>3)

--in:取范围,表示一个不连续的范围

--查询编号为1,4,8的班级

select * from TblClass

where cid=1 or cid=4 or cid=8

--==========

select * from TblClass

where cid in(1,4,8)

--模糊查询:like _:任意一个字符 %:任意多个字符

--[]:显示一个连续区间 ^:放在[]中表示非

select * from TblClass

where cDescription like '%赵剑雨%'

--查询在描述中以'黑'开头并且是2个字符的信息

select * from TblClass

where cDescription like '黑_'

--查询描述中包含'%'的班级,转义:使用[]括起来

select * from TblClass

where cDescription like '%[%]%'

--[4-7]表示4,5,6,7

--[4,7]表示4,7

--[47]表示4,7

--查询描述中包含4-7的信息

select * from TblClass

where cDescription like '%[4-7]'

--查询描述中不包含4-7的信息

select * from TblClass

where cDescription like '%[^4-7]'

--空值判断is [not] null

select * from TblClass

where cDescription is not null

--函数isnull:判断值是否为空,如果为空,不显示null而给一个默认值

select cid,cName,ISNULL(cDescription,'暂未开班') from TblClass

--============================================

--order by 子句排序子句 asc升序 desc降序

select * from TblClass

--order by cid[ asc]--按cid升序排列

--order by cid desc

order by cid desc,cName asc--可以按照多列排序

--=========================================

--分组子句group by ... having ...

--聚合函数

--聚合:把多行合并成一行

--use ItCastCn

select * from tblscore

--找出英语成绩的最高分

select MAX(tenglish) from tblscore

--找出数学成绩的最低分

select MIN(tmath) from tblscore

--查询英语的平均成绩

select AVG(tenglish) from tblscore

--求数学成绩的总和

select SUM(tmath) from tblscore

--求参加考试的人数

select count(*) from tblscore

select COUNT(*) from tblstudent

select * from tblscore

--分组:统计各班人数

--出现分组中的列,可以出现在查询结果中,其它的列不可以与聚合函数一起出现在结果中

select tsclassid,COUNT(*) as 人数 from tblstudent

group by tsclassid

--做选择having:在分组后,对结果集进行筛选

--查找出班级人数大于5的班级信息

select tsclassid,COUNT(*) as 人数 from tblstudent

group by tsclassid having COUNT(*)>5

--综合语句练习

select distinct top 1 tsclassid,COUNT(*) AS 人数,avg(tsage) as 平均年龄

from tblstudent

where tsGender='男'

group by tsclassid having tsclassid>3

order by 平均年龄 desc

--作业:学生表操作

select * from tblstudent

--查询所有女生的信息

--查询班级为3的男生信息

--查询姓'张'的男学生

--找出各个城市的人数及城市名称

--找出各班中最多人的城市名称

sql第二天的更多相关文章

  1. SQL 第二章 作业

    /*第二章 作业*/ create table S ( sno char(2) NOT NULL UNIQUE, sname char(3), city char(2) ); alter table ...

  2. SQL第二节课

    SQL练习题 一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的 ...

  3. 终于看完<LEARNING SQL>第二版,立此存照

  4. SQL第二课-创建数据表

    查看有多少数据库 SHOW DATABASES; 进入数据库:USE <数据库名> 举例:USE test;//进入test数据库 查看当前进入的是哪个数据库 SELECT DATABAS ...

  5. Oracle PL/SQL随堂笔记总结

    1.pl/sql编程 2.存储过程 3.函数 4.触发器 5.包 6.pl/sql基础 -定义并使用变量 7.pl/sql的进阶 8.oracle的视图 1.pl/sql编程 1.理解oracle的p ...

  6. MySQL加载并执行SQL脚本文件

    第一种方法: 命令行下(未连接数据库) ,输入 mysql -h localhost -u root -p123456 < C:\db.sql 第二种方法: 命令行下(已连接数据库,此时的提示符 ...

  7. PDO预处理语句规避SQL注入攻击

    所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存 ...

  8. 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。

    1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...

  9. MySQL优化(二):SQL优化

    一.SQL优化 1.优化SQL一般步骤 1.1 查看SQL执行频率 SHOW STATUS LIKE 'Com_%'; Com_select:执行SELECT操作的次数,一次查询累加1.其他类似 以下 ...

随机推荐

  1. HighCharts 图表高度动态调整

    HighCharts 图表高度动态调整 前言 在使用HighCharts控件过程中,发现图表可以自适应div的高度,无法根据图表x.y轴的数量动态调整div高度,否则图标挤在一起,看起来非常不美观,也 ...

  2. 【转】title与alt的区别

    html中的title属性和alt属性让人有些混淆. 以前不知道有title这个属性,第一次用到它时,就和alt产生了混淆.一位朋友告诉我说,alt是图片img标签里用的,title是超链接里用的,当 ...

  3. Makefile常用信息查询页

    这是博主第一次尝试在博客中使用markdown来写博文,目前感觉还不错.大家也可以尝试尝试. 符号说明 符号 作用   换行符 @ 放在命令前面隐藏命令输出 - 放在命令前面忽略命令错误 : 以来规则 ...

  4. (Java 多线程系列)Java 线程池(Executor)

    线程池简介 线程池是指管理同一组同构工作线程的资源池,线程池是与工作队列(Work Queue)密切相关的,其中在工作队列中保存了所有等待执行的任务.工作线程(Worker Thread)的任务很简单 ...

  5. 使用WCF Data Service 创建OData服务

    使用WCF Data Service 创建OData服务 在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主 ...

  6. WPF界面设计

    WPF仿360卫士9.0界面设计   Chrome插件——一键保存网页为PDF1.0 http://www.cnblogs.com/bdstjk/p/3163723.html 仿照网上的一个代码写的, ...

  7. struts2中token的令牌机制

    通常在普通的操作当中,我们不需要处理重复提交的,而且有很多方法来防止重复提交.比如在登陆过程中,通过使用redirect,可以让用户登陆之上重定向到后台首页界面,当用户刷新界面时就不会触发重复提交了. ...

  8. jsp传值乱码解决办法

    在jsp中,我们经常从数据库读取数据返回客户端,但我们常常在制作时出现乱码现象,所以我们可以用<%request.setCharacterEncoding("UTF-8"); ...

  9. 快速上手微信小程序-快递100

    2007 年 1 月 9 日,乔布斯在旧金山莫斯科尼会展中心发布了首款 iPhone,而在十年后的 1 月 9 日,微信小程序正式上线.张小龙以这样的形式,向乔布斯致敬. 小程序在哪里? 小程序功能模 ...

  10. LightOJ 1248 Dice (III)

    期望,$dp$. 设$dp[i]$表示当前已经出现过$i$个数字的期望次数.在这种状态下,如果再投一次,会出现两种可能,即出现了$i+1$个数字以及还是$i$个数字. 因此 $dp[i]=dp[i]* ...