Sql学习总结(一)

—周学习总结

1.在建表是定义的数据类型和我们插入数据时数据类型不一致

2.注意join 和 left join在运用中的差别。

3.group by 原则:select 后面的所有列中,没有聚合函数的列,必须出现在group by 后面。

4.当我们在统计排名的时候,如果出现相同的排名要记得使用 with ties。

5.order by 默认升序排序,也可以用ASC标识,降序desc。

6.distinct 去重复

7.批插入 insert into table_name

select   __________union

    select  __________union

select ___________

union all,和union的区别。

8.truncate table name与drop table name 的区别在与table name只是删除了表的内容,truncate就像删除了那块存放表的内存空间

这也是自增段还原为1 的方法。

9.删除表的时候不能有外键的约束

10.用case语句实现对成绩的行列置换。

11.当2表中存在相互的外键约束的时候在我们建表的时候应该吧这2个外键约束拿出来放在一起执行。

在插入数据的时候其中一表的外键约束先设为null值,然后将另外一表的数据插入,最后在对之前的外键约束

进行数据更新。

12.事务和存储过程——银行的转账例子。

13.视图只给用户访问一张表的权限,隐藏方法,只显示终端给用户。

14.一张表中只能有一个聚集索引,数据的物理排序只能有一中方式,可以有多个非聚集排序。

15.触发器我的简单理解就是在你对其中的一表做操作的时候对其他的表有影响。这时候需要有触发器来触发修改另外表的相关内容。


Sql学习总结(一)

时间: 2024-12-28 22:12:14

Sql学习总结(一)的相关文章

Oracle之PL/SQL学习笔记

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

SQL 学习日志01

查看一个数据库的所有表: Select TABLE_NAME FROM 数据库名称.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' (select * from 表名 where 条件) 查看一张表的表结构: sp_help table_name(表名)  获取的信息比较全 sp_columns table_name(表名) 创建数据库: use master go create database test01(数据库名) 删除数据

SQL 学习日志02

SQL数据类型 1.字符类型 char   --定长字符数据   如 char(12)  这字段就会占用12字节的空间,无论这个字段只填写了2个字节.一般在可确定这字段长度时选用,如sex字段(因只有男和女两项可选)就可用 char(2). varvhar   --可变长字符数据  如varchar(50) 这字段最大只能填写50字节,按实际填写的字节存储.一般在不确定这字段长度时使用,如 Smail字段(因邮箱的长度不确定) 就可用varchar(50). text    --用来存储大量非统

TERADATA SQL学习随笔<一>

最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目录: 关于SQL学习及所用在线数据库 表联合 (join) SQL子查询 在select时创建新字段 (as, case when) 数据分组 (group by + 聚合函数count, sum, avg等) 利用over (partition by)进行数据分组并创建新字段 样本选择 1.关于SQL学习及所用在线数据库 之前有看过一些SQL学习的书.但如果从学习效率来说,跟着书学习SQL,不如直接看生产环境

SQL学习笔记:选取第N条记录

Northwind数据库,选取价格第二高的产品. 有两种方法,一个是用Row_Number()函数: SELECT productname FROM (SELECT TOP 2 productname, Row_Number() OVER (ORDER BY unitprice desc) AS rownum FROM Products) AS tbl WHERE rownum = 2; 另一种是对子语句的的结果再进行排序: SELECT top 1 productname FROM (SELE

SQL学习_查询重复数据和连接多个表数据的方法

进行数据库测试时需要根据不同场景查询数据,以便验证发现的问题是否为脏数据引起的.记录一下最近常用的查询方法: 1. 查询表中重复数据(id不同,多个字段值相同) select P1.* from project as P1, project as P2 where P1.id<>P2.id and P1.ProjectId=P2.ProjectId and P1.ServiceTypeId=P2.ServiceTypeId and P1.Rank=P2.Rank 2.连接多个表数据 selec

SQL 学习日志03

添加表内容: insert into table_name (字段1,字段2,...) values (值1,值2,....) 查询表内容: select * from table_name select 字段1,字段2 from table_name select top 10 * from table_name select * from table_name where 字段=值 select * from table_name where 字段<>值 select * from tab

PL/SQL学习

资料1 -- Created on 2014/8/20 declare -- Local variables here i integer; begin i := 12; -- Test statements here DBMS_OUTPUT.put_line(i); end; 资料2 declare cursor s is select * from city_app.city_server; s_ s%rowtype; begin open s; fetch s into s_; DBMS_

sql学习笔记1

参考: 1.<SQL学习指南> 2.慕课网,SQL学习基础 提纲: 第二章 创建和使用数据库 2.1 创建MYSQL数据库 2.2 使用mysql命令行工具 2.3 MySQL数据类型 2.3.1 字符型数据 2.3.2 数值型数据 2.3.3 时间数据 2.4 表的创建 2.4.1 第一步:设计 2.4.2 第二步:精华 2.4.3 第三步:构建SQL方案语句 2.5 操作和修改表 2.5.1 插入数据 2.5.2 更新数据 2.5.3 删除数据 2.6 导致错误的语句 2.6.1 主键不唯

sql学习笔记2

<SQL学习指南>第9章 子查询 参考:leetcode 2 ---------------------- 9.1 啥是子查询 9.2 子查询的类型 基于结果集的类型:单行/单列,单行/多列,多行/多列 完全独立的(非关联子查询).引用包含语句中的列(关联查询) 9.3 非关联子查询 前面讲的都是非关联的,可以的单独执行而不需要引用包含语句中的任何的内容.我们遇到的大多数的子查询都是这种类型,但是更新或者 删除语句会经常遇到关联子查询. 另外一个特点,前面的子查询除了是非关联的外,返回的都是一