sql第三天

-》完整的select语句及执行顺序(必须记住)

5...select 5.2->distinct 7...top n [percent] 5.1->列名 聚合函数(1.2->列名或表达式)

1...1.1->from 表名

2...where 条件

3...group by ... 4...having ...

6...order by ...

-》实际练习

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

from tblstudent

where tsGender=‘男‘

group by tsclassid having tsclassid>3

order by 平均年龄 desc

-》问执行顺序是如何?

1、from tblstudent

2、where tsGender=‘男‘

3、group by tsclassid

4、having tsclassid>3

5、select

5.1 tsclassid,COUNT(*) AS 人数,avg(tsage) as 平均年龄

5.2 distinct

6、order by 平均年龄 desc

7、top 1

inner join(等值连接) 只返回两个表中联结字段相等的行

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录

right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录

时间: 2024-10-14 12:04:11

sql第三天的相关文章

SQL基础三(例子)

-------------------对分组统计的结果进一步筛选(having子句使用)------------------------------ select * from student2010 --1.查询qypt08class表中各院系的人数,只显示人数多于400的记录 select yx,sum(rs) from qypt08class group by yx having sum(rs)>400 --2.统计stucou表中各门课程的选修人数,只显示人数少于30的记录(显示coun

Oracle SQL(三)

4. SQL高级--表结构相关(建表.约束) 4.1 建表语句 4.1.1 CREATE DATABASE(创建数据库) --创建数据库 create database 数据库名字; 4.1.2 CREATE TABLE(创建表) --创建表 CREATE TABLE 表名 ( 字段1 类型(长度), 字段2 类型(长度), 字段3 类型(长度), 字段4 类型(长度), 字段5 类型(长度) ); 4.2 约束语句 4.2.1 定义 SQL 约束用于规定表中的数据规则. 如果存在违反约束的数据

SQL Server三种表连接原理

http://msdn.microsoft.com/zh-cn/library/dn144699.aspx 简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join这三种物理连接中的一种.理解这三种物理连接是理解在表连接时解决性能问题的基础,下面我来对这三种连接的原理,适用场景进行描述. 嵌套循环连接(Nested Loop J

SQL注入(三)

邮给我一个密码 我们意识到虽然不能添加一条新的记录在members表中,但我们可以通过修改一个存在的记录, 这也获得了我们的证明是可行的. 从先前的步骤中,我们知道[email protected]在系统中有一个帐号,我们使用SQL注入更新了他的数据库记录为我们的邮件地址: SELECT email, passwd, login_id, full_name FROM members WHERE email = 'x'; UPDATE members SET email = '[email pro

转 一篇关于sql server 三种恢复模式的文章,从sql server 的机制上来写的,感觉很不错,转了

简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一.因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback).从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务日志将数据恢复到指定的时间点.当SQL Server运转良好时,多了解一些事务日志的原理和概念显得并不是那么重要.但是,一旦SQL SERVER发生崩溃时,了解事务日志的原理和概念对于快速做出正确的决策来恢复数据显得尤为重要.

oracle高级SQL(三)--递归查询

oracle中有connect by子句.是用于层次查询.就是递归查询. 其中语法如下: SELECT ... FROM <TABLENAME> WHERE <CONDITIONAL-1> START WITH <CONDITIONAL-2> CONNECT BY <CONDITIONAL-3> 注解: 1. CONDITIONAL-1条件:即SQL中的过滤条件, 2.CONDITIONAL-2条件:是根结点的限定语句:是从哪个条件开始. 3. CONDIT

Sql优化(三) 关于oracle的并发

Oracle的并发技术可以将一个大任务分解为多个小任务由多个进程共同完成.合理地使用并发可以充分利用系统资源,提高效率.一. 并发的种类Parallel queryParallel DML(PDML)Parallel DDL Parallel recovery [@[email protected]] 二. 适用场合适用parallel的两个条件 1)大的任务,如全表扫描大表这和日常生活中的经验是一样的,小任务自己完成都比派发任务省事 2)系统有足够的资源(cpu/io)换句话说,并发是在系统资

Sql 分页三种方式

create database Test go use Test go create Table UserInfo( userid int identity(1,1) primary key, username nvarchar(10) not null ) insert into UserInfo values ('a11') insert into UserInfo values ('a12') insert into UserInfo values ('a13') insert into

SQL前三章知识点测试

一.请写出数据库分离和附加的步骤 1.分离 (1)鼠标右键选择要分离的数据库  → 选择任务   →  选择分离 (2)点击分离,勾选(删除链接,更新统...)     点击确定,分离成功 2.附加 (1)点击数据库  →  选择附加 (2)点击添加 →   选择你的分离数据库保存路径 →  点击确定添加成功 二.请写出数据库导出SQL脚本的步骤 1.数据库→  任务→  生成脚本→  下一步→  高级(选择架构和数据)→  选择路径为桌面→  单击下一步→  到处脚本成功 三.请写出SQL S

【Django】执行原生SQL的三种方法 &#632542;

原文: http://blog.gqylpy.com/gqy/383 "> 如下三种方式 extra:结果集修改器,一种提供额外查询参数的机制 raw:执行原始SQL返回模型实例 connection/connections:直接执行自定义SQL(此方法不依赖model) 1.extra示例: # extra # 在QuerySet的基础上继续执行子语句 # extra(self, select=None, where=None, params=None, tables=None, ord