婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MSSQL 基本語法及實例操作語句

MSSQL 基本語法及實例操作語句

熱門標簽:威海智能語音外呼系統 重慶防封電銷機器人供應商 西安青牛防封電銷卡 北京辦理400電話多少 400電話申請需要開戶費嗎 智能語音外呼系統哪個牌子好 南京電銷外呼系統運營商 溫州語音外呼系統代理 山西語音外呼系統價格
MS SQL基本語法及實例操作

一:建表并初始化
============================
create database mf2011 --創建數據庫

use mf2011 --使用數據庫

create table dept --創建“部門”表
( www.jb51.net
deptno int primary key, --部門編號(主鍵)
dname nvarchar(30), --部門名稱
loc nvarchar(30) --部門所在的地點
)
-----

create table emp --創建“員工”表
(
empno int primary key, --員工編號(主鍵)
ename nvarchar(30), --員工的姓名
job nvarchar(30), --員工的工作類型
mgr int, --員工的上級
hiredate datetime, --員工的入職時間(受聘時間)
sal numeric(10,2), --員工的每月工資
comm numeric(10,2), --員工的年終獎金
deptno int foreign key references dept(deptno) --創建一個外鍵指向部門表(描述該員工屬于哪個部門)
)

--------
insert into dept values (10,'accounting','new york')
insert into dept values (20,'reasarch','dallas')
insert into dept values (30,'sales','chicago')
insert into dept values (40,'operations','boston')
-------

insert into emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) values
(7369,'michael','clerk',7902,'2010-1-12',675.23,300,20)

insert into emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) values
(7499,'allen','salesman',7698,'2009-1-23',1675.23,322.50,30)

insert into emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) values
(7521,'ward','salesman',7698,'2008-1-3',12675.99,399.50,30)

insert into emp (empno,ename,job,mgr,hiredate,comm,deptno) values
(7566,'jones','manager',7839,'2000-1-1',8675.99,20)

insert into emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) values
(7654,'martin','salesman',7698,'2007-12-31',1275.99,999.00,30)

insert into emp (empno,ename,job,mgr,hiredate,sal,deptno) values
(7782,'blake','manager',7839,'2007-12-20',1275.99,30)

insert into emp (empno,ename,job,mgr,hiredate,sal,deptno) values
(7788,'sccot','analyst',7566,'2003-1-22',1275.99,10)

insert into emp (empno,ename,job,mgr,hiredate,sal,deptno) values
(7781,'miller','opreator',7566,'2005-10-12',1275.99,40)
www.jb51.net
insert into emp (empno,ename,job,mgr,hiredate,sal,deptno) values
(7744,'adamc','opreator',7566,'2006-10-30',1244.0,40)

insert into emp (empno,ename,job,hiredate,sal,deptno) values
(7839,'king','president','2000-1-1',100244.0,10)

insert into emp (empno,ename,job,mgr,hiredate,sal,deptno) values
(1999,'lxliog','opreator',7566,'2006-10-30',1244.0,40)
-----
select * from dept
select * from emp

--主鍵:唯一,非空
--外鍵:只能指向主鍵,與指向的主鍵數據類型必須一致

二:練習
============================
1,查詢emp表所有列
select * from emp --劉君正

2,查詢指定列(例如:姓名,工資兩列)
select ename,sal from emp --鄭朝陽

3,取消重復行(從emp表中查詢部門號)
select distinct(deptno) from emp --徐紹峰,郝艷芳,劉輝,馬東勤

4,從emp表中查詢名字為lxliog員工的薪水,工作,所作部門
select sal,job,deptno from emp where 'lxliog'=ename --侯耀文,譚雪玲,黎小龍

5,統計總共有都少個部門(兩種方式:從emp或從dept)
select count(deptno) from dept --諾布才仁
select count(distinct(deptno)) as 部門總數 from emp --諾布才仁

use mf2011
select * from dept;
select * from emp;
--6,顯示每個雇員的年工資
select isnull(sal,0)*12+isnull(comm,0) as 年薪 from emp --扎西多杰

7,如何顯示工資高于3000的員工信息
select * from emp where sal>3000 --鄧文文
www.jb51.net
8,如何查找1982.1.1后入職的員工
select * from emp where hiredate>'1982-1-1'

9,如何顯示工資在2000到2500之間的員工情況
select * from emp where sal between 1244 and 100244
select * from emp where sal>=2000 and sal=250000

10,如何顯示首字母為S的員工姓名和工資(模糊查詢)
select ename ,sal from emp where ename like 's%'

11,如何顯示第三個字母為‘O'的所有員工的姓名和工資(模糊查詢)
select ename 姓名,sal as 月薪 from emp where ename like '__R%';

12,如何顯示empno為123,345,800...的員工情況(在where條件中使用in)
select * from emp where empno in(123,345,800,1999,7400,7744);

13,如何顯示沒有上級的雇員的情況(使用is null 的操作符)
select * from emp where mgr is null;

14,查詢工資高于1000或是崗位為manager的雇員,
同時還要滿足他們的姓名首字母為j(使用邏輯操作符)
select * from emp where (sal>1000 or job='manager')
and ename like 'j%';

16,如何按工資的從低到高的順序顯示雇員的信息
(使用order by字句asc, desc)
select * from emp order by sal desc;

17,如何按入職的先后順序顯示雇員的信息(使用order by字句asc, desc)
select * from emp order by hiredate desc;

18,按部門號升序而雇員的工資降序排列顯示雇員信息
(使用order by字句asc,desc)
select * from emp order by deptno asc,sal desc;

19,統計每個人的年薪,并按從低到高的順序排序(使用列的別名排序)
select isnull(sal,0)*12+isnull(comm,0) 年薪 from emp order by 年薪;

20,如何顯示員工中最高工資和最低工資
select max(sal) as "max(sal)",min(sal) from emp;

21,如何顯示最低工資的員工信息
select * from emp where sal = (select min(sal) from emp);
www.jb51.net
22,顯示所有員工的平均工資和工資總和
select avg(sal) as "avg(sal)" , sum(sal) as "sum(sal)" from emp;

23,把高于平均工資的雇員的名字和他的工資顯示出來
select ename,sal from emp where sal>(select avg(sal) from emp);

24,計算共有多少名員工
select count(ename) from emp;

25,如何顯示每個部門的平均工資和最高工資
select avg(sal) as "avg",max(sal) as "max",deptno
from emp group by deptno

26,如何顯示每個部門的高于總平均工資的平均工資和最高工資
select avg(sal) as "avg",max(sal) as "max",deptno
from emp where sal>(select avg(sal) from emp) group by deptno

27顯示每個部門的每種崗位的平均工資和最低工資
select avg(sal),min(sal),deptno,job from emp group by deptno,job
order by deptno

28,顯示平均工資低于2000的部門號和它的平均工資
(having往往和group by結合使用,可以對分組查詢結果進行篩選)
select avg(sal),deptno from emp group by deptno having avg(sal)2000

29,使用企業管理器來操作數據庫的分離與附加
見操作步驟

30,使用企業管理器來操作數據庫的備份與恢復操作
見操作步驟

31,使用查詢分析器器來操作數據庫的備份與恢復操作
(1)備份數據庫
backup database mf2011 to disk='f:/lxliog.bak';
(2)刪除數據庫
drop database mf2011;
(3)恢復數據庫
restore database mf2011 from disk='f:/lxliog.bak';

復雜查詢(多表查詢)
32,顯示sales部門的位置和其員工的姓名
select d.loc,e.ename from emp e,dept d where d.dname='sales' and d.deptno=e.deptno

33,顯示雇員名字,雇員工資及所在部門的名字(當字段有歧義的時候要用別名)
select e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno
www.jb51.net
34,顯示部門號為10的部門名稱,及該部門的員工名字和工資
select d.dname, e.ename, e.sal from emp e,dept d where d.deptno=10 and d.deptno=e.deptno

35,顯示雇員名字,雇員工資及所在部門的名字,并按部門名稱排序
select e.ename, e.sal, d.dname from emp e,dept d where e.deptno=d.deptno order by d.dname

自連接:在同一張表的連接查詢
36,顯示某個員工的上級領導的姓名(比如:smith)
(1)select mgr from emp where ename='adamc'
(2)select ename from emp where empno=(select mgr from emp where ename='adamc')

37,顯示公司每個員工和他上級的名字
select worker.ename, boss.ename from emp worker, emp boss where worker.mgr=boss.empno

子查詢:嵌入在其它sql語句中的select語句,也叫嵌套查詢。
單行子查詢:只返回一行數據的子查詢語句。
38,顯示與jones同一部門的所有員工
(1)select deptno from emp where ename='jones'
(2)select * from emp where deptno=(select deptno from emp where ename='jones')

多行子查詢:返回多行數據的子查詢。
39,查詢和部門號為10的工作相同的雇員的名字、崗位、工資、部門號。(注意要使用in,不能用=)
(1)select distinct job from emp where deptno=20
(2)select ename,job,sal,deptno from emp where job in (select distinct job from emp where deptno=20);

40,在上面查詢結果的基礎上排除20部門的員工
select ename,job,sal,deptno from emp where job in (select distinct job from emp where deptno=20) and
deptno not in (20);
或select ename,job,sal,deptno from emp where job in (select distinct job from emp where deptno=20) and deptno >20;

在from字句中使用子查詢
41 ,顯示各個部門高于本部門平均工資的員工的信息
(1)先查出各個部門的平均工資 www.jb51.net
select avg(sal),deptno from emp group by deptno
(2)把上面的表當成一個臨時表來對待
select e.ename,e.sal,tem.myavg,e.deptno
from emp e,(select avg(sal) myavg,deptno from emp group by deptno) tem
where e.deptno=tem.deptno and e.sal>tem.myavg

注意:(1)當在from字句中使用子查詢時,該子查詢會被當做一個臨時表來對待,
(2)當在from字句中使用子查詢時,必須給子查詢指定一個別名

分頁查詢:按雇員的hiredate屬性升序取出第5條到第10條記錄
42,顯示第5條到第10條記錄
(1)顯示第1到第4條記錄
select top 4 empno from emp order by hiredate
(2)顯示后6條記錄(第5條到第10條記錄)
select top 6 * from emp where empno
not in(select top 4 empno from emp order by hiredate)
order by hiredate;

43,顯示第11個到第13個入職的人的信息(寫法同上)

44,顯示第5到9的人的信息,按薪水的降序排列(寫法類似)
select top 5 * from emp where empno not in
(select top 4 empno from emp order by sal desc)
order by sal desc;
45,同一張表中的數據復制
(1)創建一張臨時表:identity(1,1)表示該testId字段自增,從1開始每次+1
create table test(
testId int primary key identity(1,1),
testName varchar(30),
testPass varchar(30)
)
(2)插入一條數據
insert into test(testName, testPass) values('zhangsan','123456');
(3)復制數據
insert into test(testName, testPass) (select testName,testPass from test);

46,查詢testId為第10000-10009的數據,看看性能。
select top 10 * from test where testId not in
(select top 9999 testId from test order by testId)
order by testId

用查詢結果創建一張新表(一種快捷的建表方法)
47,語法:select *(這里可以選擇字段) into 另一張表面 from 表
select testName,testPass into mytest from test where testId8
表mytest在上述語句中已經創建好了,并且初始化好了數據
并且把testId設置為主鍵:ALTER TABLE test01 ADD primary key(testId)
www.jb51.net
48,刪除一張表中的重復數據
(1)create table cat(
catId int,
catName varchar(40)
)
(2)insert into cat values(1,'aa'); //重復執行幾次
insert into cat values(2,'bb'); //重復執行幾次
(3)select distinct * into #temp from cat;//把cat的記錄distinct后的結果,插入到臨時表#temp中
delete from cat;//把cat表的記錄清空
insert into cat select * from #temp;//把#temp表的數據(沒有重復的數據)插入到cat表中
drop table #temp;//刪除表#temp3

左外連接和右外連接
左外連接:左邊表的查詢數據全部顯示,右邊的表中如果沒有匹配的數據則用null填充
右外連接:右邊表的查詢數據全部顯示,左邊的表中如果沒有匹配的數據則用null填充
49,顯示emp表中所有雇員的及其上級的名字(看看區別)
(1)左外連接:select e.ename 雇員名字,b.ename 上級名字
from emp e left join emp b on e.mgr=b.empno;
(2)右外連接:select e.ename 雇員名字,b.ename 上級名字
from emp e right join emp b on e.mgr=b.empno;

常見約束:
(1)not null, 非空
(2)unique, 唯一,允許出現一個null
(3)primary key, 主鍵,唯一,非空
(4)foreign key, 外鍵,定義主表和從表的關聯關系
(5)check,檢查,強制數據必須滿足定義的條件,例如:sal int check(sal>=2000 and sal=3000)
(6)default, 默認值,用于數據的完整性,例如:birthday datetime default getdate(),

50,復合主鍵只能用表級定義
例如:create table cat(
catId int,
catName varchar(40),
catAge int,
primary key(catId, catName)
)
www.jb51.net
51,商品售貨系統表設計案例:現有一個商店數據庫,記錄客戶及其購物情況,由下面三個表組成:商品(goods),客戶(customer),購買(purchase)
商品goods(商品號goodsId, 商品名稱goodsName, 單價unitPrice, 商品類別category, 供應商provider);
客戶customer(客戶號customerId, 姓名name, 住址address, 電郵email, 性別sex, 身份證cardId);
購買purchase(客戶號customerId, 商品號 goodsId, 購買數量nums);
(1)建表,在定義中要求申明:
ü 每個表的主鍵和外鍵;
ü 客戶的姓名不能為空;
ü 單價必須大于0,購買數量必須在1到10之間
ü 電郵不能夠重復
ü 客戶的性別必須是:男或女,默認是男
ü 商品的類別是:食物,日用品

----goods表
Create table goods(
goodsid nvarchar(50) primary key,
goodsnamd nvarchar(80) not null,
unitPrice numeric(10,2) check (unitPrice>0)
category nvarchar(3) check (category in (‘食物','日用品')),
provider nvarchar(50)
)
----customer
Create table customer(
Customerid nvarchar(50) primary key,
Cusname nvarchar(50) not null,
Address nvarchar(100),
Email nvarchar(50) unique,
Sex nchar(1) check(sex in(‘男','女')) default ‘男',
Cardid nvarchar(18)
) www.jb51.net
----purchase
Create table purchase(
Customerid nvarchar(50) foreign key references customer(Customerid),
goodsid nvarchar(50) foreign key references goods(goodsid),
nums int check(nums>0 and nums10),
primary key(customerid, goodsid)
)

作者 qq395740774
您可能感興趣的文章:
  • sqlServer 數據庫語法大全
  • 基于sql語句的一些常用語法積累總結
  • MySQL 最基本的SQL語法/語句
  • 超詳細的SQL語句語法匯總

標簽:河源 貸款群呼 濟寧 新余 黃山 金昌 中衛 宜春

巨人網絡通訊聲明:本文標題《MSSQL 基本語法及實例操作語句》,本文關鍵詞  MSSQL,基本,語法,及,實例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MSSQL 基本語法及實例操作語句》相關的同類信息!
  • 本頁收集關于MSSQL 基本語法及實例操作語句的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    同产精品九九九| 久久99精品国产麻豆不卡| 亚洲精品国产一区二区三区四区在线| 在线不卡免费欧美| 久久精品夜色噜噜亚洲aⅴ| 国产校园另类小说区| 欧美一级黄色大片| 91在线观看美女| 精品日韩欧美在线| 午夜精品久久久久久久99水蜜桃| 亚洲精品一区二区三区四区高清| av在线不卡免费看| 丰满少妇在线播放bd日韩电影| 精品一区二区三区在线播放| 亚洲欧美一区二区三区国产精品| 99国产精品99久久久久久| 国产精品一级二级三级| 暴力调教一区二区三区| 激情文学综合丁香| 午夜精品爽啪视频| 国产xxx精品视频大全| 久久se这里有精品| 国产99一区视频免费| 亚洲欧美日韩一区| 国产欧美精品区一区二区三区| 欧美视频在线观看一区| 国产精品综合视频| 欧美无砖砖区免费| 激情文学综合丁香| 日本久久精品电影| 岛国精品一区二区| 国产欧美日韩中文久久| 欧美国产成人在线| 欧美激情一二三区| 成人aaaa免费全部观看| 日韩国产欧美在线播放| 综合激情成人伊人| 欧美一区二区三区系列电影| 国内成人精品2018免费看| 亚洲一区二区三区四区在线免费观看| 日韩免费性生活视频播放| 色婷婷亚洲综合| 国产成人免费高清| 蜜臀久久99精品久久久画质超高清 | 中文字幕日韩一区二区| 91超碰这里只有精品国产| av在线一区二区三区| 麻豆精品视频在线观看免费| 亚洲乱码日产精品bd| 久久久亚洲高清| 日韩欧美一级二级三级久久久| 欧美日韩一级片在线观看| 国产精品网友自拍| 亚洲国产精品久久久久秋霞影院| 麻豆精品久久精品色综合| 国模套图日韩精品一区二区| 高清免费成人av| 日韩黄色一级片| 亚洲一区二区三区四区在线观看| 国产精品久久久久久亚洲伦| 国产日韩欧美精品一区| ww亚洲ww在线观看国产| 日韩欧美二区三区| 日韩视频在线永久播放| 欧美精品日日鲁夜夜添| 色婷婷激情久久| 在线中文字幕一区二区| 在线国产亚洲欧美| 欧洲一区二区三区在线| 在线观看成人小视频| 在线免费观看成人短视频| 欧美日韩一区二区三区视频| 亚洲欧洲性图库| 在线一区二区三区四区五区| 欧美激情一区在线观看| 亚洲精品成人悠悠色影视| 国产日韩欧美麻豆| 久久精品亚洲国产奇米99| 久久久久久久国产精品影院| 久久蜜桃香蕉精品一区二区三区| 久久亚洲影视婷婷| 久久久久久久久一| 久久久久88色偷偷免费| 欧美激情中文字幕| 最新日韩av在线| 一区二区三区不卡视频| 亚洲国产一区二区在线播放| 视频一区二区三区在线| 日韩专区在线视频| 国产在线视视频有精品| 日韩欧美美女一区二区三区| 欧美一级理论性理论a| 国产日韩欧美一区二区三区综合| 中文字幕一区二区三区在线不卡 | 免费观看30秒视频久久| 樱花草国产18久久久久| 亚洲制服欧美中文字幕中文字幕| 亚洲 欧美综合在线网络| 免费在线看成人av| 强制捆绑调教一区二区| 国产成人在线视频播放| 色老汉av一区二区三区| 一区二区三区在线观看国产| 色婷婷香蕉在线一区二区| 麻豆国产一区二区| 久久久影院官网| 日韩欧美在线网站| 狠狠色丁香婷综合久久| 国产精品久久久久久久久晋中| 欧洲激情一区二区| 国产盗摄女厕一区二区三区| 日韩av中文字幕一区二区三区| 国产亚洲综合在线| 国产亚洲一区二区三区在线观看| 欧美一区二区三区在线观看| 欧美午夜免费电影| 色综合久久久久网| 欧美熟乱第一页| 4438亚洲最大| 欧美一区午夜精品| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美一区二区三区视频在线 | 国内精品久久久久影院色| 亚洲一区二区三区中文字幕在线| 日韩精品一区二| 欧美一区二区黄色| 伊人开心综合网| 成人开心网精品视频| 欧美大白屁股肥臀xxxxxx| 一区二区在线观看视频在线观看| 国产成人免费在线| 欧美精品一区二区在线播放| 日本欧美一区二区在线观看| 欧美色爱综合网| 亚洲一区国产视频| 欧美中文字幕一区二区三区亚洲| 亚洲日本丝袜连裤袜办公室| 成人黄动漫网站免费app| 久久久不卡网国产精品二区| 韩国三级中文字幕hd久久精品| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美一区二区三区免费观看视频 | 日日夜夜一区二区| 一本到不卡免费一区二区| 亚洲视频香蕉人妖| 91小视频在线| 一区二区三区 在线观看视频| 日本丶国产丶欧美色综合| 一区二区在线看| 欧美老人xxxx18| 免费人成精品欧美精品| 精品国产一区二区三区不卡| 国模娜娜一区二区三区| 久久久综合视频| 色婷婷av一区二区三区大白胸| 亚洲午夜激情网页| 日韩欧美亚洲另类制服综合在线| 极品瑜伽女神91| 国产精品久久毛片| 日本丰满少妇一区二区三区| 国产精品毛片高清在线完整版| 亚洲人成在线观看一区二区| 一区二区三区在线不卡| 色综合视频一区二区三区高清| 亚洲综合一二区| 精品国产一区二区亚洲人成毛片| 国产精品91一区二区| 亚洲免费观看高清| 欧美一区二区二区| 国产jizzjizz一区二区| 亚洲第一在线综合网站| 久久综合九色综合欧美就去吻| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美在线free| 日本最新不卡在线| 国产色婷婷亚洲99精品小说| 欧美怡红院视频| 久草在线在线精品观看| 亚洲免费在线观看视频| 精品国产一区二区精华| 色系网站成人免费| 免费成人小视频| 一区二区三区欧美亚洲| 久久五月婷婷丁香社区| 欧美三级电影网站| 成人午夜激情在线| 捆绑紧缚一区二区三区视频| 中文字幕在线免费不卡| 日韩欧美国产不卡| 51午夜精品国产| 色视频一区二区| 成人性视频免费网站| 欧美aaaaa成人免费观看视频| 亚洲乱码一区二区三区在线观看| 日韩欧美综合一区| 欧美日韩大陆在线| 欧美亚洲免费在线一区| 99国内精品久久| 成人午夜电影小说| 国产精品1024久久|