select
[top 返回记录条数] 子段表名
from 数据表序列 [where 条件表达式]
[order by 要排序的字段列表[asc(从从小到大)/desc(从大到小)]
select c_id,c_name from class 选择c_id,c_name 从class
select c_name,c_stu from class where c_stu>50 or c_stu<20 选择 c_name,c_stu 从class表中 当 c_stu大于50或者小于20
select * from class where i_vip=true and i_age>23 选择所有从class表中 当i_vip为真和i_aha大于23
模糊查询 通配符
* 代表任意多个任意字符 ? 代表一个任意字符
select * From class where i_name like '*小*'
从class表中选择 i_name 字段中包含"小"字的记录
select *from class where i_name like '?小*'
选择所有从class表 当i_name 像什么小什么什么
select top 2 * from class
选择顶部两条字段所有记录从class表
select top 1 i_name from clsaa where i_age>23
查询所有年龄大于23岁的人的姓名并且只返回前一条记录
查询结果按字段排序
order by 要排序的字段列表[asc(正排序)/desc(倒排序)]
select * from class order by i_age desc 选择所有从class表中 返回年龄从大到小
select * from class order by i_sex asc,i_age desc
选择所有从class表中 返回i_sex正排序男在前女在后,年龄从大到小
select top 5 * from class where i_ahe<>24 order by i_sex desc,i_name
选择前五行记录的所有字段从class表中当年龄不等于24按性别到排序并且按照年龄正排序
多表联合查询语句
select * from class,class1 where class.U_id=class1.i_uid and class.u_user="zq326"
查询所有字段从class,class1 当clsaa.U_id=class1.i_uid并且class.u_user等于zq326
增加
insert into 表名
[(字段1[,字段2[,....[字段N] ] ] ) ] values
(字段1[,字段2[,....[字段N] ])
insert into clsaa(u_user,u_code)values('fif','test')
删除
delete from 表名
[where 条件表达式]
delete from class where i_age=20 删除从class表 当i_age=20
修改
update 表名
set 字段名1=表达式1[,字段名2=表达式2....] [where 条件表达式]
updete class set i_age=i_age+1
更新class 设置i_age等于i_age+1
update class set i_age=20,u_vip=false where u_vip=true 更新class 设置i_age=20,u_vip=false 当u_vip=true
另外两种联接 左联接 left join 右联接 right join
左联接语法
select 字段列表 from 左表名 left join 右表名 on 左表与右表的关系 select * from bm left join yg on bm.b_id=yg.y_bmid:
选择所有字段从部门并以左联接从员工表中查处部门ID等于员工本门ID
右联接语法
select * from bm right join yg on bm.b_id=yg.y_bm:
连接语法,组合一个表
select 语句1 union [all] select 语句2 [union....]
select b_name from bm union select y_name from yg 选择 b_name 从部门 连接 y_name 从员工
[top 返回记录条数] 子段表名
from 数据表序列 [where 条件表达式]
[order by 要排序的字段列表[asc(从从小到大)/desc(从大到小)]
select c_id,c_name from class 选择c_id,c_name 从class
select c_name,c_stu from class where c_stu>50 or c_stu<20 选择 c_name,c_stu 从class表中 当 c_stu大于50或者小于20
select * from class where i_vip=true and i_age>23 选择所有从class表中 当i_vip为真和i_aha大于23
模糊查询 通配符
* 代表任意多个任意字符 ? 代表一个任意字符
select * From class where i_name like '*小*'
从class表中选择 i_name 字段中包含"小"字的记录
select *from class where i_name like '?小*'
选择所有从class表 当i_name 像什么小什么什么
select top 2 * from class
选择顶部两条字段所有记录从class表
select top 1 i_name from clsaa where i_age>23
查询所有年龄大于23岁的人的姓名并且只返回前一条记录
查询结果按字段排序
order by 要排序的字段列表[asc(正排序)/desc(倒排序)]
select * from class order by i_age desc 选择所有从class表中 返回年龄从大到小
select * from class order by i_sex asc,i_age desc
选择所有从class表中 返回i_sex正排序男在前女在后,年龄从大到小
select top 5 * from class where i_ahe<>24 order by i_sex desc,i_name
选择前五行记录的所有字段从class表中当年龄不等于24按性别到排序并且按照年龄正排序
多表联合查询语句
select * from class,class1 where class.U_id=class1.i_uid and class.u_user="zq326"
查询所有字段从class,class1 当clsaa.U_id=class1.i_uid并且class.u_user等于zq326
增加
insert into 表名
[(字段1[,字段2[,....[字段N] ] ] ) ] values
(字段1[,字段2[,....[字段N] ])
insert into clsaa(u_user,u_code)values('fif','test')
删除
delete from 表名
[where 条件表达式]
delete from class where i_age=20 删除从class表 当i_age=20
修改
update 表名
set 字段名1=表达式1[,字段名2=表达式2....] [where 条件表达式]
updete class set i_age=i_age+1
更新class 设置i_age等于i_age+1
update class set i_age=20,u_vip=false where u_vip=true 更新class 设置i_age=20,u_vip=false 当u_vip=true
另外两种联接 左联接 left join 右联接 right join
左联接语法
select 字段列表 from 左表名 left join 右表名 on 左表与右表的关系 select * from bm left join yg on bm.b_id=yg.y_bmid:
选择所有字段从部门并以左联接从员工表中查处部门ID等于员工本门ID
右联接语法
select * from bm right join yg on bm.b_id=yg.y_bm:
连接语法,组合一个表
select 语句1 union [all] select 语句2 [union....]
select b_name from bm union select y_name from yg 选择 b_name 从部门 连接 y_name 从员工