create table iden
(
id int primary key identity(1,1) 自增
name nvarchar(10)
)
insert into iden values('abc') 直接添就可以,忽略id 。
select *from iden 查询
create table student 现在有一张学生表
(
id int primary key identity(1,1)
name nvarchar(10),
class int foreign key references class(class_id)
)
insert into student values('王五',null)
insert into student values('王五',1)
select *from student
空的可以添加
必须要先写班级表,才能加外键,否则获取不了
所以在写数据的时候也要先写班级的
create table class 现在有一张班级表
(
class_id int primary key identity(1,1)
class_name nvarchar(10), 这是它的外键是class int
)
insert into student values('一班')
select *from class
select *from car 查车的表
select *from brand 查牌子的表
select *from car where(条件) oil(油耗)<8
select name ,oil from car where(条件) oil(油耗)<8 这样出来的就只有name 和oil这两个字段 简单的条件查询
select name as 车型名称 ,oil as 油耗 from car where(条件) oil(油耗)<8 (=8) 这样改的是字段名 as 可以省略不写的
也可以这样写:
select name as 车型名称 ,oil as 油耗 第一行是字段
from car 这是从哪里来的
where(条件) oil(油耗)<8 (=8) 这是条件
select name as 车型名称 ,oil as 油耗 ,price
from car
where(条件) oil(油耗)<8 (=8) and (or) price<50 非空的时候是 + is not null 或者是 + is null 或者是price=null
select *from car where(条件)name like '%奔驰%' 中间有奔驰这个关键字的 name like '%奔%' or name like '%驰%' 这是奔驰两个字拆开的时候查询
select *from car order by (排序)price(价格) 默认是+asc升序,+dese 是降序 这是排序查询
select *from brand
去重查询
select distinct brand from car 这种去重查询不常用
这种常用
select brand, max(price) from car group by brand 这是通过分组查询
意思是通过brabd进行分组,现在是分成好几个组, 然后通过最高的价格摘出来,相当于把每个牌子的最高价格的车型拿了出来。
分组查询必须跟着函数 这就是函数 max(price)
联合两个语句查询
select brand from car 查询car表里的brand
union 联合
select brand_code (必须得和上一个有一定的联系,字段必须对应起来,如: brand 和brand_code ,字段不是相同意义,而是相同类型的字段) from brand
select brand, count(price) from car group by brand (牌子) 查询有几个价格,就是查询有几个车型
select count(*) from car 就是查询这个表里有几个数据
select round(5.9,1) 四舍五入,第一个参数是数据源,第二个参数是精确到第几位。
select name + brand from car 字符串拼接
select oil + convert(decimal(10,2),powers) from car 转换拼接
select oil + powers from car 不转换也能想加
select getdate() 获取当前时间
select year(getdate() ) 获取当前年
dateadd 主要用于签到
select dateadd(hour,8,getdate()) 三个参数,第一个是类型,第二个是几,第三个是现在时间,打印出的是,往后排八个小时的时间