sql server 基础查询语句

--简单的查询功能,包括内建外键
--创建数据库
create database Testbase2
--创建部门表格dept
create table dept(
deptno int primary key,
dname nvarchar(30) ,
loc   nvarchar(30)
)
--创建员工表
create table emp(
empno int primary key,   --编号
ename nvarchar(10),      --名字
job   nvarchar(10),      --工作
sal    int ,             --薪水
comm   int,              --奖金
deptno int foreign key references dept(deptno)
--外键,对应于表格中的工作部门编号
)

--drop table emp 
--针对外键,
  --1,外键只能指向主键
  --2,类型要一致

--插入数据
  --插入数据时外键在表格中必须存在,可以避免无效数据

insert into dept values(20,'sell','beijing')
insert into dept values(30,'buy','shanghai')
insert into dept values(40,'qa','hangzhou')

insert into emp values(7844,'lili','shop',790,200,20)
insert into emp values(7855,'bibi','shop',500,300,30)
insert into emp values(7866,'haha','shop',2500,400,20)
insert into emp values(7877,'haik','buy',1500,500,40)
insert into emp values(7888,'toto',null,4000,600,30)
insert into emp values(7899,'john','buy',3000,700,40)
insert into emp values(7810,'mike','buy',1000,800,20)

select * from dept
select * from emp

--查询所有列
  --select * from emo(表名) where 条件
--查询指定列
  --select 字段1,字段2,from 表名 where 条件(varchar不区分大小写)
select sal,job,deptno from emp where ename='lili'
--取消重复行
  --select distinct 字段 from 表名 where 条件
  --问题:共计多少个部门编号
select  distinct deptno from emp  --消除结果完全相同的行

--使用算术表达式
  --显示每个人的年 工资
select ename,sal*13 'year sal' from emp
select ename,sal*13+comm*13 'year sal' from emp

--where 子句,
    --between ... and ...在两个数之间闭区间
    select * from emp where sal between 2002 and 3000

    --like操作符,模糊查询
	  --显示首字母为h的员工  %代表多个字符,_ 代表单个字符
	select * from emp where ename like 'h%'
	  --第三个字母为h的员工
	select * from emp where ename like '__h%'
    
	--in关键字:
	select * from emp where deptno in(20,30)
	--isnull 关键字
	select * from emp where job is null
	--逻辑操作符号
	select * from emp where (job='buy' or sal>2000) and ename like 'h%'

	--order by 按顺序排,默认是升序,降序(desc)
	select * from emp order by sal 
	  --部门升序,工资降序
	select * from emp order by deptno ,sal desc

	--别名排序,按照年薪排序
	select ename ,(sal + comm)*13 'year' from emp order by 'year'

	--分页查询

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值