第一篇:SQL語句 SELECT LIKE like用法詳解
SQL語句 SELECT LIKE like用法詳解 在SQL結(jié)構(gòu)化查詢語言中,LIKE語句有著至關(guān)重
要的作用。LIKE語句的語法格式是:select * from 表名 where 字段名 like 對
應(yīng)值(子串),它主要是針對字符型字段的,它的作用是在一個字符型字段列中檢索包含對
應(yīng)子串的。A:% 包含零個或多個字符的任意字符串:
1、LIKE'Mc%' 將搜索以字母 Mc 開
頭的所有字符串(如 McBadden)。
2、LIKE'%inger' 將搜索以字母 inger 結(jié)尾的所有字符
串(如 Ringer、Stringer)。
3、LIKE'%en%' 將搜索在任何位置包含字母 en 的所有字符串
(如 Bennet、Green、McBadden)。B:_(下劃線)任何單個字符:LIKE'_heryl' 將搜索以
字母 heryl 結(jié)尾的所有六個字母的名稱(如 Cheryl、Sheryl)。C:[ ] 指定范圍([a-f])或
集合([abcdef])中的任何單個字符: 1,LIKE'[CK]ars[eo]n' 將搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
2、LIKE'[M-Z]inger' 將搜索以字符串 inger 結(jié)
尾、以從 M 到 Z 的任何單個字母開頭的所有名稱(如 Ringer)。D:[^] 不屬于指定范
圍([a-f])或集合([abcdef])的任何單個字符:LIKE'M[^c]%' 將搜索以字母 M 開頭,并且
第二個字母不是 c 的所有名稱(如MacFeather)。E:* 它同于DOS命令中的通配符,代
表多個字符:c*c代表cc,cBc,cbc,cabdfec等多個字符。F:?同于DOS命令中的?通配符,代表單個字符 :b?b代表brb,bFb等 G:# 大致同上,不同的是代只能代表單個數(shù)字。k#k
代表k1k,k8k,k0k。F:[!] 排除 它只代表單個字符下面我們來舉例說明一下:例
1,查詢name字段中包含有“明”字的。select * from table1 where name like '%明%'例2,查詢name字段中以“李”字開頭。select * from table1 where name like '李*'例3,查詢name字段中含有數(shù)字的。select * from table1 where name like '%[0-9]%'例4,查詢name字段中含有小寫字母的。select * from table1 where name like '%[a-z]%'例5,查詢name字段中不含有數(shù)字的。select * from table1 where name like '%[!0-9]%'以上例子能列出什么值來顯而易見。但在這里,我們著重要說明的是通配符“*”與“%”的區(qū)別。很多朋友會問,為什么我在以上查詢時有個別的表示所有字符的時候用
“%”而不用“*”?先看看下面的例子能分別出現(xiàn)什么結(jié)果:select * from table1 where
name like '*明*'select * from table1 where name like '%明%'大家會看到,前
一條語句列出來的是所有的記錄,而后一條記錄列出來的是name字段中含有“明”的記錄,所以說,當我們作字符型字段包含一個子串的查詢時最好采用“%”而不用“*”,用“*”的時候只在開頭或者只在結(jié)尾時,而不能兩端全由“*”代替任意字符的情況下。
第二篇:SQL中forXML語句用法總結(jié)
-------raw模式:raw模式將查詢結(jié)果集中的每一行轉(zhuǎn)換為帶有通用標識符row或可能提供元素名稱的xml元素。(將查詢結(jié)果集中的每一行轉(zhuǎn)換為row元素的屬性或row元素的子無素)-------------行集中非Null的每列值都將映射為row元素的一個屬性--------------------------
select top 10 *
from mixtureMeasureMonitor
for xml raw
---將elements指令添加到for xml子句,則行集中非null的每列值都將映射為row元素的一個子元素
-----------
select top 10 *
from mixtureMeasureMonitor
for xml raw,elements
----在指定elements指令的同時指定xsinil選項,則將行集中為null的每例值映射為具有屬性xsi:nil=“true”的一個元素
---------------------------
select top 10 *
from mixtureMeasureMonitor
for xml raw,elements XSINIL
-Auto模式根據(jù)查詢確定返回的xml的形式--------------
select pmm.id,pmm.ppId,pp.MixPropNo,pmm.criterion
from mixtureMeasureMonitor as pmm inner join
produceProportion as pp on pp.id=pmm.ppid and pp.cOrgID=pmm.cOrgID tOption as tp on tp.cValue=pmm.Criterion inner join
where tp.ckey='Criterion '
for xml auto
select
pmm.id,pp.MixPropNo,pmm.ppId,pmm.criterion,pmm.temperatureMark,pmm.remark
from mixtureMeasureMonitor as pmm inner join
produceProportion as pp on pp.id=pmm.ppid and pp.cOrgID=pmm.cOrgID tOption as tp on tp.cValue=pmm.Criterion inner join
where tp.ckey='Criterion '
for xml auto,elements xsinil
-----------------explicit模式:使用RAW和AUTO模式不能很好地控制從查詢結(jié)果生成的XML的形狀。但是,對于要從查詢結(jié)果生成的XML,EXPLICIT模式會提供非常好的靈活性-----------------------
select
pp.MixPropNo,pmm.id,pmm.ppId,pmm.criterion,pmm.temperatureMark,pmm.remark
from mixtureMeasureMonitor as pmm inner join
produceProportion as pp on pp.id=pmm.ppid and pp.cOrgID=pmm.cOrgID tOption as tp on tp.cValue=pmm.Criterion inner join
where tp.ckey='Criterion '
for xml explicit
-------------------------OPENXML語句,對XML文件進行查詢,然后返回指定的XML中的結(jié)果集數(shù)據(jù)---------------------------
/*openxml(idoc int [in],rowpattern nvarchar[in],[flags byte [in]])
[WITH(SchemaDeclaration|TableName)]
Idoc:XML文檔的內(nèi)部表示形式的文檔句柄
RowPattern:XPath模式,用來標識要作為行處理的節(jié)點
Flags:指示應(yīng)在XML數(shù)據(jù)和關(guān)系行集間使用映射,以及應(yīng)如何填充溢出列
SchemaDeclaration:窗體的架構(gòu)定義
TableName:如果具有所需架構(gòu)的表已經(jīng)存在且不要求列模式,則為給定的表名*/ DECLARE @idoc int
declare @doc varchar(2000)
set @doc='
'
EXEC sp_xml_preparedocument @idoc output,@doc
select *
from openxml(@idoc,'/ROOT/Customer',1)
with(CustomerID varchar(10),ContactName varchar(20))/*path()括號內(nèi)的參數(shù)是控制節(jié)點名稱的,不指定括號時控制節(jié)點默認是row。rooot選項來添加單個頂級元素*/
------------------path選項不帶()時,默認控制節(jié)點是row,其他字段元素都是row元素的子元素----------
select ID ,name
from MtrlBaseName
for xml path
--------------------------ID,name是product標簽的子標簽---------------select ID ,name
from MtrlBaseName
for xml path('Product'),root('ProductExport')
------------------ID是Product標簽的屬性,name是Product標簽的內(nèi)容-----------------------------
select ID [@ID],name as [*]
from MtrlBaseName
for xml path('Product'),root('ProductExport')
------------------ID,name是Product標簽的屬性
----
select ID [@ID],name as [@name]
from MtrlBaseName
for xml path('Product'),root('ProductExport')
第三篇:sql常用語句
//創(chuàng)建臨時表空間
create temporary tablespace test_temp
tempfile 'E:oracleproduct10.2.0oradatatestservertest_temp01.dbf'size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//創(chuàng)建數(shù)據(jù)表空間
create tablespace test_data
logging
datafile 'E:oracleproduct10.2.0oradatatestservertest_data01.dbf'size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//創(chuàng)建用戶并指定表空間
create user username identified by password
default tablespace test_data
temporary tablespace test_temp;
//給用戶授予權(quán)限
//一般用戶
grant connect,resource to username;
//系統(tǒng)權(quán)限
grant connect,dba,resource to username
//創(chuàng)建用戶
create user user01 identified by u01
//建表
create table test7272(id number(10),name varchar2(20),age number(4),joindate date default sysdate,primary key(id));
//存儲過程
//數(shù)據(jù)庫連接池
數(shù)據(jù)庫連接池負責分配、管理和釋放數(shù)據(jù)庫連接
//
//創(chuàng)建表空間
create tablespace thirdspace
datafile 'C:/Program Files/Oracle/thirdspace.dbf' size 10mautoextend on;
//創(chuàng)建用戶
create user binbin
identified by binbin
default tablespace firstspace
temporary tablespace temp;
//賦予權(quán)限
GRANT CONNECT, SYSDBA, RESOURCE to binbin
//null與""的區(qū)別
簡單點說null表示還沒new出對象,就是還沒開辟空間
個對象裝的是空字符串。
//建視圖
create view viewname
as
sql
//建索引
create index indexname on tablename(columnname)
//在表中增加一列
alter table tablename add columnname columntype
//刪除一列
alter table tablename drop columnname
//刪除表格內(nèi)容,表格結(jié)構(gòu)不變
truncate table tableneme
//新增數(shù)據(jù)
insert into tablename()values()
//直接新增多條數(shù)據(jù)
insert into tablename()
selecte a,b,c
from tableabc
//更新數(shù)據(jù) new除了對象,但是這“”表示
update tablename set columnname=? where
//刪除數(shù)據(jù)
delete from tablename
where
//union語句
sql
union
sql
//case
case
when then
else
end
第四篇:SQL語句
SQL練習
一、設(shè)有如下的關(guān)系模式,試用SQL語句完成以下操作:
學生(學號,姓名,性別,年齡,所在系)
課程(課程號,課程名,學分,學期,學時)
選課(學號,課程號,成績)
1. 求選修了課程號為“C2”課的學生學號
2. 求選修了課程號為“C2”課的學生學號和姓名
3. 求沒有選修課程號為“C2”課的學生學號
4. 求選修了課程號為“C2”,又選修了課程號為“C3”課的學生學號
5.求選修了課程號為“C2”或“C3”課的學生學號
6.求選修了全部課程的學生學號
7.求至少選修了學號為“98002”的學生所學過的所有課程的學生的學號和姓名。
8.查詢學生選課表中的全部數(shù)據(jù)
9.查詢計算機系學生的姓名、年齡
10.查詢成績在70—80分之間的學生的學號、課程號和成績
11.查詢計算機系年齡在18—20之間且性別為“男”的學生的姓名和年齡
12.查詢成績在80分以上的學生的姓名、課程號和成績,并按成績的降序排列結(jié)果。
13.查詢哪些課程沒有人選修,要求列出課程號和課程名。
14.查詢數(shù)學系成績在80分以上的學生的學號,姓名
15.查詢課程號為“C02”的課程的最高分數(shù)。
16.查詢計算機系學生的最大年齡和最小年齡。
17.統(tǒng)計每個系的學生人數(shù)。
18.統(tǒng)計每門課程的選課人數(shù)和考試最高分。
19.統(tǒng)計每個學生的選課門數(shù)和考試總成績,并按選課門數(shù)的升序顯示結(jié)果。
20.查詢總成績超過200分的學生,要求列出學號、總成績。
21.用子查詢實現(xiàn)如下查詢:
(1)查詢選修了課程號“C01”的學生的姓名和所在系。
(2)查詢數(shù)學系成績在80分以上的學生的學號和姓名。
(3)查詢計算機系考試成績最高的學生的姓名。
22.刪除選課成績小于60分的學生的選課記錄。
23.將所有選修了課程“C01”的學生的成績加10分。
24.將計算機系所有選修了課程“計算機文化基礎(chǔ)”課程的學生的成績加10分。
25.創(chuàng)建查詢學生的學號、姓名、所在系、課程號、課程名、課程學分的視圖。
26.創(chuàng)建查詢每個學生的平均成績的視圖,要求列出學生學號和平均成績。
27.創(chuàng)建查詢每個學生的選課學分的視圖,要求列出學生學號及總學分。
第五篇:SQL語句
SQL語句,用友的SQL2000,通過查詢管理器寫的語句
1、查詢
2、修改
3、刪除
4、插入
表名:users 包含字段:id,sname,sage
查詢 select * from users查詢users表中所有數(shù)據(jù)
select id,sname,sage from users查詢users表中id,sname,sage字段所有數(shù)據(jù)
可以限定查詢條件比如:
select sname from users where sage>20查詢年齡大于20歲的所有人的名字
修改 update users set sname='李四',sage=22將users表中數(shù)據(jù)都改為姓名李四,年齡22
update users set sname='李四',sage=22 where id=1限定id為1的人的信息修改為
姓名李四,年齡22
可以加where條件。
刪除 delete from users where id=2刪除users表中id為2的一行數(shù)據(jù)delete from users 代表刪除users中所有數(shù)據(jù)
插入 insert into users(id,sname,sage)values(5,'劉三',21)插入一條數(shù)據(jù)
SQL四條最基本的數(shù)據(jù)操作語句:Insert,Select,Update和Delete。
例如:SELECT columns FROM tables;其中columns為列的名稱,tables為表格名稱
1、查詢:select 字段名 from 表名 where 條件
查找在表(如A)中符合條件的字段
2、修改:update 表名 set 字段名=‘所要修改的內(nèi)容’
修改在表(如A)中的字段的值為:所要修改的內(nèi)容
3、刪除: delete from 表名 where 條件
刪除符合條件的表(如A)中的信息
4、插入: insert into 表名(字段名)(‘插入內(nèi)容’)
在表(如A)中插入字段為:插入內(nèi)容 的一條信息