sql语法

发布 2021-05-11 05:05:28 阅读 5982

更新语句。

updata 表名 set 列名=更新值 where 更新条件。

排序升asc 降desc

删除语句(可重置自增长列)

truncate table 表名。

delete from 表名 where 删除条件。

聚合函数(1选择列表中,有聚合函数,不能写其他的字段名2group by字句中)

求和。select sum(列名(只能是值类型)) from 表名。

select sum(age),id from t group by id

求平均。select **g(b) from 表名。

最低分 min 最高分 max

select min(a) from table_1

满足条件所有行数count(*)

select count(*)from 表名 where 满足表件。

select count(b) from table_1

关键字 in(和多个or运算副连起来的效果是等价的) ,between ,like, is null, is not null

插入一行。insert [into] 表名 (列名) valuse <;值列。

插入多行。insere [into] 表名 (列名) select列名from 原表名。

一次插入多行数据,可以使用insert…select…、select…into…

组合。select 列名 + 列名 + convert(nchar,date) as 'ok' into t5 from t

可以新建表

select (列名) into <;表from <;原表。

删除约束。alter table 表名 drop constraint 约束名

查询格式化显示结果集。

as命名列表别名。

select 列名 as 别名 from 表名 where 符合条件。

号命名别名。

select '姓名' =firstname+'.lastname from employees

格式化显示。

select firstname+'.lastname as '姓名' from employees

查询固定行数 **top**

select top 几行列名 from 表名 where 条件。

返回百分之多少行。

select top 百分数 percent 列名 from 表名 where 符合条件。

* or **查询nurthwind表中 country字段为japan italy的。

select *

from suppliers

where country in('japan','italy')

* not **

列举情况很多,相反的情况少的情况下使用。

*between...and**用来限制范围,包含两个边件。

where column not between lower_value and upper_value

例子。select *from 表名 where 列名 between 范围 and 范围。

排序order by**

select studentid as 学员编号,(score*0.9+5) as 综合成绩from score where 条件 order by score asc

*like**子句只用与 char nchar varchar nvarchar datetime(解决模式匹配的方法,实现模糊查询)

select *from 表名 where 列名 like '(字符串和日期类型,某种模式)'

不以a开头。

select *from customers where companyname not like 'a%'

is null 指定列为null 所有的行。

is not null指定列中非空的行。

select *from 表名 where 列名 is null

distinct可以去掉重复的记录。

分组查询。select studentid as 学员编号,courseid as 内部测试, **g(score) as 内部测试平均成绩。

from score

group by studentid,courseid

group by 把表中的列进行分组。

注意问题:order_list, group_list中的每一列都必须出现在select_list中,即不能选择select_list之外。

的列用于分组对于指定的一组,只生成一条记录,不返回详细信息可以有where 子句,则只对满足 where 子句的记录进行分组和汇总使用 h**ing 子句,在分组的同时对字段或表达式指定搜索条件只在使用 group by 子句的同时,才能使用 h**ing子句来限制分组不要联合使用关键字 all 和 h**ing 子句。 因为 h**ing 子句会忽略 all 关键字,并返回只符合 h**ing 条件的组执行顺序。

where子句从数据源中去掉不符合其搜索条件的数据。

group by子句搜集数据行到各个组中,统计函数为各个组计算统计值。

h**ing子句去掉不符合其组搜索条件的各组数据行常用的系统存储过程sp_databases 列出服务器上的所有数据库。

sp_helpdb 报告有关指定数据库或所有数据库的信息。

sp_renamedb 更改数据库的名称。

sp_tables 返回当前环境下可查询的对象的列表。

sp_columns 回某个表列的信息。

sp_help 查看某个表的所有信息。

sp_helpconstraint 查看某个表的约束。

sp_helpindex 查看某个表的索引。

sp_stored_procedures 列出当前环境中的所有存储过程。

sp_password 添加或修改登录帐户的密码。

sp_helptext 显示默认值、未加密的存储过程、用户定义的存储过程、触发器或视图的实际文本外联接outer join 左外left join 右外right join 完整外联接full join

语法select buyer_name, qty

from buyers left outer join sales

on = 内联接。

select buyer_name, qty from buyers inner join sales on = 自联接:主要用于消除重复项,使用时必须使用别名,看成两个不同的表特点:共同字段多。

`self join

select *from 表 join 表 on 列=列消除重复项的步骤--

找出指定的重复项select改成delect

on **and**and子查询:嵌套在select insert update delete中的select语句。

-子查询。select *from orders

select *from customers

-先从一个表中找。

-在从另一个表中找。

ordersid,customerid,companyname,orderdate

select orderid,customerid,orderdate

from orders

select companyname

from customers

-合成需要写联接条件,在子查询中写。

select

select companynamefrom customers as o where

from orders as p

exists 限制外层查询,使结果集符合子查询条件。

select lastname, employeeid from employees as e

where exists

select * from orders as o where =

and = 1

外层子查询测试子查询返回的记录是否存在根据条件,子查询返回 true 或 false

子查询不产生任何记录。

sql语法

知识要点 1 transact sql运算符 1 算术运算符。注 null与任何值运算结果为null。运算可用于datetime型数据。2 字符串运算符。3 比较运算符。逻辑常量 ture false。4 逻辑运算符。not 非 and 与 or 或 between 指定范围 like 模糊匹配 5...

SQL语法

distinct 输出唯一值。select distinct from where between and 介于某一范围的数据。where 某行 between and in 属于某一子集合的数据。where 某行 in substring expression 开始位 长度 选取字符串。selec...

SQL语法

一 create table 数据表是数据库中储存数据的基本架构。举例来说,如果我们有一个记载顾客数据的数据表,那字段包括姓名 地址 城市 国家 生日 等等。当我们对数据表下定义时,我们需要注明字段名称,以及那个字段的类型。字段类型可能是一个整数 例如 1 一个实数 例如 0.55 一个字符串 例如...