--条件查询
select * from car where oil<8 --从car表中查看oil小于8的结果
select name as 车型名称,oil as 油耗 from car where oil<8 --只看name和oil字断看 加个as将name改成车型名字 oil改成油耗 as可以省略
select * from car where oil=7.4 --从car表中查看oil等于7.4的结果 !=和<>是不等于
select * from car where oil=7.4 and price<50 --从car表中查看oil等于7.4并且price小于50的结果 and并且 or是或者
select * from car where oil=7.4 or price is null --is也可以换成=
--模糊查询
select * from car where name like '%奔驰%' --name中含有奔驰的 %奔驰:name中结尾带奔驰 奔驰%:name中开头带奔驰的
--排序查询 按价格查询
select * from car order by price desc--价格排序默认升序 desc:倒叙
--去重查询(不常用一般用分组查询)
select distinct brand from car --distinct中不重复的
--分组查询
select brand,MAX(price) from car group by brand --每个牌子里的最高价格
--联合查询
select brand from car
union
select brand_code from brand
--聚合函数 以分组查询为例
select brand,min(price) from car group by brand --每个牌子里的最低价格
select brand,sum(price) from car group by brand --每个牌子里的平均价格
select brand,count(price) from car group by brand --每个牌子里的有几个车型
select brand,count(*) from car --car表里有几个数据
--数学函数
select CEILING(5.1)
select FLOOR(5.9)
select ROUND(5.91,1)
select ABS(-10)--绝对值
select PI()--3.14159265358979323846
select LOWER('ABCDEF') --括号内的内容变成小写
select UPPER('abcd')--括号内的内容变成大写
select RTRIM(LTRIM(' dfdsfas '))--去掉两边空格
--转换函数(内容是字符拼接 内容是数字相加)
select *from car
select name+brand from car --字符串拼接
select oil+price from car --相加
select oil+convert(decimal(10,2),powers) from car --将powers型转换成decimal型
--时间函数
select YEAR(GETDATE())--获取当前年
select MONTH(GETDATE())--获取当前月
select DATEADD(HOUR,8,GETDATE())--当前时间往后增加8个小时
--子查询
select * from Teacher where prof='助教' and Depart='计算机系' --正常写法
select * from Score where Cno in(select Cno from Course where Cname='计算机导论')
--合并查询
select * from Course join Score on Course.Cno = Score.Cno --将Course的cno和score的cno合并
select * from Course left join Score on Course.Cno = Score.Cno --一左边的表(Course)为准