當前位置:首頁 » 編程語言 » sql基本查詢語句題目
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql基本查詢語句題目

發布時間: 2023-05-08 15:48:11

1. sql基礎查詢語句

3:
select 語文,數學,英語,政治,物理,化學,sum(語文+數學+英語+政治+物理+化學) 總分, sum(語文+數學+英語+政治+物理+化學)/6 平均分 from 成績表
where 姓名 = '盧良紅'
4:
select sum(語文),sum(數學),sum(英語),sum(政治),sum(物理),sum(化學),sum(語文+數學+英語+政治+物理+化學) 總分 from 成績表
5:
select avg(語文),avg(數學),avg(英語),avg(政治),avg(物理),avg(化學),sum(語文+數學+英語+政治+物理+化學)/6 平均分 from 成績表
6:
select 學號,姓名,語文,數學,英語,政治,物理,化學,sum(語文+數學+英語+政治+物理+化學) 總分,sum(語文+數學+英語+政治+物理+化學)/6 平均分,成員,職務 from 成績表,地址表,家庭表 where 成績表.學號=地址表.學號 and 地址表.編號= 家庭表.編號 and 語文>90 and 地址 like '%東陽%'

2. SQL的查詢 考試題目求教 題目已寫答案求判斷!

你還有馬甲。。。

第一個不對,更新的是學生的成績,而不是c001得成績
1.對選修了課程號為c001的學生成績提高10%
此題本人做的答案請檢查:updata 選課表 set 成績=成績*1.1 where 課程號='c001'

UPDATE 選課表 SET set 成績=成績*1.1 WHERE 學生號 IN (SELECT 學生號 FROM 選課表 WHERE 課程號='c001')

2.查詢沒有學生選修的課程名。
此題本人做的答案請檢查:select 課程名 from 課程 where 課程名 not exists(select * from 選課表 where 選課表.課程號=課程表.課程號)
SELECT 課程名 from 課程 WHERE 課程號 NOT IN (SELECT DISTINCT 課程號 FROM 選課表)

3. correct
4.查詢每個學生選修的門數及平均成績。
此題本人做的答案請檢查:select AVG(成績),姓名 from 學生,選課 where 學生.學生號=選課.學生號 group by 姓名
SELECT COUNT(c.課程號), AVG(c.成績)
FROM 學生 stu LEFT JOIN 選課 c ON stu.學生號 = c.學生號
GROUP BY stu.學生號

5.查詢2003年以前借書的讀者借書證號,姓名和單位。
此題本人做的答案請檢查:select 借書證號,姓名,單位 from 讀者 where 借書日期<=2003 and 讀者.借書證號=借書.借書證號
SELECT 借書證號,姓名,單位 FROM 讀者 WHERE IN (SELECT 借書證號 FROM 借書 WHERE 借書日期<=2003)

6.查詢電子系沒有借書的讀者姓名
此題本人做的答案請檢查: select 姓名,職稱 from 讀者 where 職稱='電子系' and 借書證號 NOT exists(select 借書證號 from 借書 where 讀者.借書證號=借書.借書證號)
此題我一直有一個疑惑 我目前查詢電子系沒有借書的讀者姓名 沒有借書 也就是借書證號為空或NULL 那麼讀者也有一個借書證號 借書也有一個借書證號 2個是相對應的,
但是我沒用到借書表 只有了讀者表的借書證號 需要在where語句後寫入:借書證號=借書.借書證號 這個條件嗎?
SELECT 姓名
FROM 讀者 t
WHERE 單位 = '電子系' AND NOT EXISTS(SELECT 1 FROM 借書 WHERE 借書證號 = t.借書證號)

7.查詢出至少有兩名學生所選修的全部課程。
此題我做的不怎麼好:select 姓名 from 學生 where 課程名 in (select 課程名,count(*) as 課程數 group by 姓名 having count(*)>=2
SELECT * FROM 課程 WHERE 課程號 IN (SELECT 課程號 FROM 選課 GROUP BY 課程號 HAVING COUNT(*) >=2)

8
@a, @b, @c是參數, 譬如@a = '123', @b = 'c001', @c = 90
然後begin後面是執行一個update操作,將參數對應起來就可以了。
真個存儲過程對例子要做的就是
UPDATE 選課
set 成績=90
where 學號= 123 and 課程號='c001'

明白了么

3. sql的查詢語句

都是最基本的sql語句,先把創建表的給你。後面的太多了,有空再寫。
(一)
1.
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Dept]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Dept]
GO
CREATE TABLE [dbo].[Dept] (
[Dno] [Char] (4)NOT NULL primary key,
[Ename] [char] (20) NOT NULL ,
[Dnum ] [int] check(Dnum >=0)
UNIQUE (Ename)

) ON [PRIMARY]
GO

2.
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Employee]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Employee]
GO
CREATE TABLE [dbo].[Employee] (
[Eno] [Char] (6)NOT NULL primary key,
[Dname] [char] (16) NOT NULL ,
[Esex ] [char](1) CHECK(Esex='F' OR Esex='M'),
[Eage] [Smallint] check(Dnum >=0),
[Esalary] [Money](1) check(Smallint >=16 and Smallint<=60),
[Ety] [char](15) DEFAULT'助教'),
[Dno] [char](4) FOREIGN KEY (Dno) REFERENCES Dept(Dno)
) ON [PRIMARY]
GO

4. SQL Server的四個查詢語句,題目在內容里

select*from員工基本信息表where員工姓名like'張%'orderby入職日期desc
select*from員工基本信息表wheredatepart(month,出生日期)=datepart(month,dateadd(m,1,getdate()))
select部門編號,a.部門名稱,b.人數from部門信息表ainnerjoin(
select員工所屬部門,count(*)人數from員工信息表groupby員工所屬部門)b
ona.部門名稱=b.員工所屬部門
orderby部門編號

update員工信息表set員工狀態='離職'from(
select員工姓名,max(入職日期)最新入職日期from員工信息表groupby員工姓名havingcount(*)>1)a
where員工信息表.員工姓名=a.員工姓名and員工信息表.入職日期<>a.最新入職日期

你自己看看吧。閑來沒事。哎。蛋疼。

5. 【急】如圖題目:請寫出以下操作的SQL語句。(1~10題)

--1.查詢讀者信息表中辦證時間2004年以前包含2004年的男生信息
select * from [ 讀者信息表]
where year([辦證時間])<=2014 and [性別]='男'
--2.查詢圖書信息表中已經借出圖書的書名和出版社
select [書名],[出版社]from [圖書信息表]
where [圖書狀態]='借出'
--3.查詢借閱信息表的全部信息
select * from [借閱信息表]
--4.查詢圖書信息表中書籍價格最便宜的三本書的書籍名稱和書籍價格
select top (3) [圖書名稱],[價格] from [圖書信息表]
order by asc
--5.按出版社分組查詢統計桐念各出版社出版的書籍冊數,顯示出版社和出版冊數
select [出版社],COUNT(*) as [出版冊數] from [圖書信息表]
group by [出版社]
--6.查詢圖書信息中「高等教育出版社」出版的書籍名稱和作者姓名
select [書籍名稱],[作者姓名] from [圖書信息表]
where [出版社] ='高等教育出版社'
--7.查詢借閱信息表中未歸還圖書的讀者編號和書籍編號。未歸還即還書日期為空
select [讀者編號],[書籍編號] from [借閱信息表]
where [還書日期] is null and [借閱狀態]='借出'
--8.查詢讀者信息表中悄碧姓李的讀者信息
select * from [讀者信息表]
where [讀者姓名] like '李%'
--9.查詢圖書信息表中類別代碼為『001』的圖書信息
select * from [圖書信息表]
where [類別代碼]='001'啟輪舉
--10.查詢圖書信息表中全部書籍的平均價格
select AVG([書籍價格]) as [平均價格]from [圖書信息表]

6. 幾道簡單的SQL 2000查詢分析器語句題目

7.select distinct e.age,e.sx,e.atitle,e.salary,e.addr
from employee as e,employee as em
where e.addr=em.addr
8.select *
from employee
where max(salary)
9.select sales.order_no
from sales
where sales.tot_amt>(select tot_amt
from sales
where sale_id=E0013 and order_date =1996/10/05)(我不知道你用什麼軟體編寫的,時間類不好定義)
11.create view C_SH(cust_id,cust_name,customer.addr)
AS Select cust_id,cust_name,customer.addr
from customer
where customer.addr="上海"
(先發這幾個,有點事,回來繼續寫)

7. 根據題目寫出SQL查詢語句

1.
SELECT
S#,SN
FROM
S
WHERE
S#
IN
(SELECT
S#
FROM
SC
WHERE
C#
IN
(SELECT
C#
FROM
C
WHERE
CN="收基礎"))
2.
SELECT
SN,SD
FROM
S
WHERE
S#
IN
(SELECT
S#
FROM
SC
WHERE
C#=2)
3.
SELECT
SN,SD
FROM
S
WHERE
S#
NOT
IN
(SELECT
S#
FROM
SC
WHERE
C#=5)
4.
SELECT
SN,SD
FROM
S
WHERE
S#
IN
(SELECT
S#
FROM
SC
GROUP
BY
S#
HAVING
COUNT(*)
=
(SELECT
COUNT(*)
FROM
C))
5.SELECT
COUNT(DISTINCT
S#)
FROM
SC
6.
SELECT
SN,SD
FROM
S
WHERE
S#
IN
(SELECT
S#
FROM
SC
GROUP
BY
S#
HAVING
COUNT(*)>5)

8. SQL 查詢語句期中考試題2

--1.分別查詢學生表和學生修課表中的全部數據。
SELECT * FROM student--查詢學生表
SELECT * FROM course--查詢課程表

--2.查詢成績在70到80分之間的學生的學號、課程號和成績。
SELECT Sno 學號,Cno 課程號,Grade 成績
FROM SC
WHERE Grade BETWEEN 70 AND 80

--3.查詢C01號課程成績最高的分數
SELECT TOP 1 Grade
FROM SC
WHERE Cno='C01'
ORDER BY Grade DESC--降序DESC,升序ASC

--4.查詢學生都選修了哪些課程,要求列出課程號。
SELECT Cname AS 學生選修的課程,Cno AS 課程號
FROM course
WHERE Cno IN(SELECT DISTINCT Cno FROM SC)--DISTINCT用來去除重復

--5.查詢Northwind資料庫中orders表的OrderID、CustomerID和OrderDate,
--並將最新的定購日期(OrderDate)列在前邊。
USE Northwind
GO
SELECT OrderID,CustomerID,OrderDate
FROM orders
ORDER BY OrderDate DESC--降序DESC,升序ASC

--6.查詢Northwind資料庫中orders表的ShipCountry列以B,C,D,F --//ShipCountry BCDF
--開始且第三個字元為"a"的OrderID、CustomerID和ShipCountry的信息。//OrderID、CustomerID第三個字元為"a"
USE Northwind
GO
SELECT OrderID,CustomerID,ShipCountry FROM orders
WHERE ShipCountry LIKE '[BCDF]_a%'--_下劃線表示任意一個字元,%表示一個或多個字元

--7.查詢Northwind資料庫中orders表的ShipCountry列不以A,B,C,D,E,F開始且最後一個字
--母是"a"的OrderID、CustomerID和ShipCountry的信息。
USE Northwind
GO
SELECT OrderID,CustomerID,ShipCountry
FROM orders
WHERE ShipCountry LIKE '[^ABCDEF]%a'

--8.查詢修了C02號課程的所有學生的平均成績、最高成績和最低成績。
SELECT AVG(Grade) 平均成績,MAX(Grade) 最高成績,MIN(Grade) 最低成績
FROM SC
WHERE Cno='C02'

--9.統計每個系的學生人數。
SELECT Sdept 系別,COUNT(*) 人數
FROM student
WHERE Sdept IN(SELECT DISTINCT Sdept FROM student)
GROUP BY Sdept

--10.統計每門課程的修課人數和考試最高分。
SELECT Cname 課程名,COUNT(*) 修課人數,MAX(Grade) 考試最高分
FROM SC,course
WHERE SC.Cno IN(SELECT DISTINCT Cno FROM SC ) AND course.Cno=SC.Cno
GROUP BY course.Cname

--11.統計每個學生的選課門數,並按選課門數的遞增順序顯示結果。
SELECT student.Sname 學生姓名,student.Sno 學生學號,COUNT(SC.Sno) 選課門數
FROM student
inner join SC ON SC.Sno=student.Sno
GROUP BY student.Sname,student.Sno
ORDER BY COUNT(SC.Sno) ASC

--12.統計選修課的學生總數和考試的平均成績。
SELECT COUNT(DISTINCT(Sno)) AS 學生總數,AVG(Grade) AS 平均成績
FROM SC --//用DISTINCT消除重復的行

--13.查詢選課門數超過2門的學生的平均成績和選課門數。
SELECT Student.Sname,AVG(Sc.Grade) 平均成績,COUNT(SC.Sno) 選課門數
FROM SC
--內聯接join或inner join,內聯系是比較運算符,只返回符合條件的行
JOIN Student ON (SC.Sno = Student.Sno)
JOIN Course ON (SC.Cno = Course.Cno)
GROUP BY Student.Sname
HAVING COUNT(distinct Course.Cno) >2--分組條件

--14.列出總成績超過200分的學生,要求列出學號、總成績。
SELECT Sno 學號,SUM(Grade) 總成績
FROM SC
GROUP BY Sno
HAVING SUM(Grade)>200

--15.查詢pubs資料庫的titles表中每類圖書的平均價格超過12.0元的書的類型(Type)、
--平均價格和最高價格。
USE pubs
GO
SELECT Type AS 書的類型,AVG(price) AS 平均價格,MAX(price) AS 最高價格
FROM titles
GROUP BY Type
HAVING AVG(price)>12.0

--16.查詢pubs資料庫的titles表中每類圖書中圖書的數目超過3本的圖書的總價格。
USE pubs
GO
SELECT 圖書類型=Type,圖書的數目=count(Type),圖書的總價格=SUM(price)
FROM titles
GROUP BY Type
HAVING count(Type)>3

--17.查詢選修了c02號課程的學生的姓名和所在系。
SELECT Sname 學生姓名,Sdept 所在系,SC.Cno AS 選修課程
FROM student
inner join SC ON student.Sno=SC.Sno
WHERE SC.Cno='C02'

--18.查詢成績80分以上的學生的姓名、課程號和成績,並按成績的降序排列結果。
SELECT Sname 學生姓名,SC.Cno 課程號,SC.Grade 成績
FROM student
inner join SC ON student.Sno=SC.Sno--內連接表SC查詢
WHERE SC.Grade>80
ORDER BY SC.Grade DESC

--19.查詢計算機系男生修了"資料庫基礎"的學生的姓名、性別、成績。
SELECT Sname 姓名,Ssex 性別,SC.Grade 成績
FROM student
inner join SC ON Cno IN(SELECT Cno FROM course WHERE Cname='資料庫基礎') --顯示成績的條件
AND student.Sno=SC.Sno --顯示成績的學生的學號
WHERE Sdept='計算機系' AND Ssex='男'

--20.查詢哪些學生的年齡相同,要求列出年齡相同的學生的姓名和年齡。
--這題使用到了表的自連接,所以需要給表取兩個別名,如A和B
SELECT A.Sname 年齡相同的學生的姓名,A.Sage 年齡
FROM student A
inner join student B ON A.Sage IN(SELECT Sage FROM student WHERE A.Sage=B.Sage AND A.Sname!=B.Sname)
GROUP BY A.Sname,A.Sage
ORDER BY A.Sage

--21.查詢哪些課程沒有人選,要求列出課程號和課程名。
SELECT Cno AS 課程號,Cname AS 課程名
FROM course
WHERE Cno NOT IN(SELECT DISTINCT SC.Cno FROM SC)

--22.查詢有考試成績的所有學生的姓名、修課名稱及考試成績
--要求將查詢結果放在一張新的永久表(假設新表名為new-sc)中。
SELECT student.Sname AS 有考試成績的學生的姓名,course.Cname AS 修課名稱,SC.Grade AS 考試成績
INTO [new_sc] --將查詢結果放入新表new_sc中
FROM student,course,SC
WHERE SC.Grade IS NOT NULL AND student.Sno=SC.Sno AND course.Cno=SC.Cno

--23.分別查詢信息系和計算機系的學生的姓名、性別、修課名稱、修課成績,
--並要求將這兩個查詢結果合並成一個結果集,
--並以系名、姓名、性別、修課名稱、修課成績的順序顯示各列。
--//此題用到了並union查詢
SELECT Sdept 系名,Sname 姓名,Ssex 性別,course.Cname 修課名稱,SC.Grade 修課成績
FROM student
inner join SC ON student.Sno=SC.Sno
inner join course ON course.Cno=SC.Cno
WHERE Sdept='信息系'
UNION
SELECT Sdept 系名,Sname 姓名,Ssex 性別,course.Cname 修課名稱,SC.Grade 修課成績
FROM student
inner join SC ON student.Sno=SC.Sno
inner join course ON course.Cno=SC.Cno
WHERE Sdept='計算機系'

select sdept, sname,ssex,cname,grade from student,sc,course
where student.sno=sc.sno and sc.cno=course.cno and (sdept='信息系' or sdept='計算機系')

--24.用子查詢實現如下查詢:
--(1) 查詢選修了C01號課程的學生的姓名和所在系。
SELECT Sname AS 選修了C01號課程的學生的姓名,Sdept AS 所在系
FROM student
WHERE Sno IN(SELECT Sno FROM SC WHERE Cno='C01')

--(2) 查詢數學系成績80分以上的學生的學號、姓名。
SELECT Sno AS 數學系成績80分以上的學生的學號,Sname AS 姓名
FROM student
WHERE Sno IN(SELECT Sno FROM SC WHERE Grade>80)
AND Sno IN(SELECT Sno FROM student WHERE Sdept='數學系')

--(3) 查詢計算機系學生所選的課程名.
SELECT Cname AS 計算機系學生所選的課程名
FROM course
WHERE
course.Cno IN(SELECT DISTINCT Cno FROM SC WHERE SC.Sno IN(SELECT Sno FROM student WHERE Sdept='計算機系'))

--25.將計算機系成績高於80分的學生的修課情況插入到另一張表中,分兩種情況實現://////////////?????/
--(1) 在插入數據過程中建表。
--使用SELECT INTO插入數據的方法,是在插入數據的過程中建立新表
SELECT student.Sname AS 學生名字,course.Cname AS 選修課程,SC.Cno AS 課程編號
INTO [SC_Info1]--將計算機系成績高於80分的學生的修課情況插入到表SC_Info1中
FROM student,course,SC
WHERE student.Sdept='計算機系' AND SC.Grade>80 AND course.Cno=SC.Cno AND student.Sno=SC.Sno

--(2) 先建一個新表,然後再插入數據。
--創建表SC_Info2
CREATE TABLE SC_Info2
(
Sname char(7),
Cname char(20),
Cno char(10)
)

--往表SC_info2插入查詢得到的結果
INSERT SC_Info2
SELECT student.Sname AS 學生名字,course.Cname AS 選修課程,SC.Cno AS 課程編號
FROM student,course,SC
WHERE student.Sdept='計算機系' AND SC.Grade>80 AND course.Cno=SC.Cno AND student.Sno=SC.Sno

--26.刪除修課成績小於50分的學生的修課記錄
DELETE SC WHERE Grade<50 OR Grade IS NULL

--27.將所有選修了"c01"課程的學生的成績加10分。
UPDATE SC
SET Grade=Grade+10
WHERE Cno='C01'

9. SQL的查詢語句(題有點多,所以100分)

成都信息工程學院的吧
我有幾道題的:
1. 編寫程序實現[1,40]的奇數平方和賦x,偶數平方和賦y,並輸出x,y的值。
declare @a int,@b int ,@X int,@Y int,@sum int,@c int,@d int
set @a=1
set @b=0
set @X=0
while @a<=40
begin
set @b=@a*@a
set @X=@X+@b
set @a=@a+2
end
set @c=2
set @d=0
set @Y=0
while @c<=40
begin
set @d=@c*@c
set @Y=@Y+@d
set @c=@c+2
end
select @X as 奇數,@Y as 偶數
2. 編寫程序計算1-5000之間(含1和5000)所有能被9整除的數的個數及總和。
declare @n int,@sum int
set @n=9
set @sum=0
while @n<=5000
begin
set @sum=@sum + @n
set @n=@n+9
end
select @sum
3. 計算1-9999以內的所有桐慧完全平方數(如36=6*6,則稱36為完全平方數)的總和及個數。
declare @n int,@sum int ,@i int,@count int
set @i=1
set @count=-1
set @sum=0
set @n=0
while @n<=9999
begin
set @sum=@sum+@n
set @n=@i*@i
set @i=@i+1
set @count=@count + 1
end
select @count,@sum
4. 通過while循環計算10!。
declare @n int ,@sum int
set @n=1
set @sum=1
while @n<=10
begin
set @sum=@sum*@n
set @n=@n+1
end
select @sum
5. 完成程序依次顯示大寫字母A~Z(一行顯示一個字母)。
declare @i int
set @i=0
while @i<26
begin
print char(ascii('A')+ @i)
set @i=@i+1
end
6. 完成程序依次顯示大寫字母Z~A(一行顯示一個字母)。
declare @i int
set @i=0
while @i<26
begin
print char(ascii('Z')-@i)
set @i=@i+1
end
7. 顯示今天是第幾季度,輸出格式為「第一季度」、「第二季度」、「第三季度」、「第四季度」。
declare @n varchar
set @n=(select datename(q,getdate()))
print '第'+@n+'季度'
8. 查詢2008級所有同學的學號、總評成績的平均分局掘答、等級(90分以上A,80-90為B,70-80為C,60-70為D,60分以下為E),並按照等級升序輸出(即先輸出A級學生,再輸出B級學生,最後輸出E級學生)。
select 學號,avg(總評成績),
(case when avg(總評成績)>=90 then 'A'
when avg(總評成績)>=80 and avg(總評成績)<90 then 'B'
when avg(總評成績)>=70 and avg(總評成績)<80 then 'C'散蔽
when avg(總評成績)>=60 and avg(總評成績)<70 then 'D'
else 'E'end)等級
from 成績 where 年級=2008
group by 學號
order by avg(總評成績) desc
9. 通過while循環繪制如下圖形:
*
***
*****
*******
*********

declare @i int
set @i=1
while @i<=5
begin
print space(5-@i)+replicate('*',2*@i-1)
set @i=@i+1
end

10. 資料庫,SQL查詢題目

--基礎題
--1.查詢讀者最喜愛的3種圖書分類號,即借閱表中出現最多的3類圖書分類號
SELECT TOP 3 [分類號] FROM [圖書] JOIN [借閱] ON [圖書].[圖書編號]=[借閱].[圖書編號]
GROUP BY [分類號] ORDER BY COUNT(*) DESC

--附加題
--1.查詢小於20歲的讀者最喜歡的3類圖書
SELECT TOP 3 [書名] FROM [讀者] JOIN [借閱] ON [讀者].[借書證號]=[借閱].[借書證號]
JOIN [圖書] ON [圖書].[圖書編號]=[借閱].[圖書編號]
WHERE [年齡]<20 GROUP BY [書名] ORDER BY COUNT(*) DESC

--2.查詢至少借閱了 寧靜 所借圖書(書名相同)的人的姓名
SELECT [姓名] FROM [讀者] WHERE [姓名]<>'寧靜' AND [借書證號] IN(SELECT [借書證號] FROM [借閱]
WHERE [圖書編號] IN(SELECT [圖書編號] FROM [讀者] JOIN [借閱] ON [讀者].[借書證號]=[借閱].[借書證號] WHERE [姓名]='寧靜'))

--3.查詢借閱了多於3本書且每本書價均高於60的讀者的借書證號
SELECT [借書證號]
FROM [借閱] JOIN [圖書] ON [圖書].[圖書編號]=[借閱].[圖書編號]
WHERE [單價]>60 GROUP BY [借書證號] HAVING COUNT(*)>3
GO

--4.假定讀者表中所有人姓名均不多於4個漢字,請建立一個查詢語句,要求根據名字中任意1個或兩個或3個或4個漢字,即可找到該讀者的詳細信息(即完全模糊查詢)
CREATE PROCEDURE CX
@XM VARCHAR(8) AS
IF LEN(@XM)=1 SELECT * FROM [讀者] WHERE @XM LIKE '['+RTRIM([姓名])+']'
ELSE IF LEN(@XM)=2 SELECT * FROM [讀者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'
ELSE IF LEN(@XM)=3 SELECT * FROM [讀者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,2,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'
ELSE IF LEN(@XM)=4 SELECT * FROM [讀者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,2,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,3,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'
GO