第一篇:SQL語句常用函數
SQL語句常用函數、字符轉換函數
1、ASCII()
返回字符表達式最左端字符的ASCII 碼值。在ASCII()函數中,純數字的字符串可不用‘’括起來,但含其它字符的字符串必須用‘’括起來使用,否則會出錯。
2、CHAR()
將ASCII 碼轉換為字符。如果沒有輸入0 ~ 255 之間的ASCII 碼值,CHAR()返回NULL。
3、LOWER()和UPPER()
LOWER()將字符串全部轉為小寫;UPPER()將字符串全部轉為大寫。
4、STR()
把數值型數據轉換為字符型數據。
STR(
length 指定返回的字符串的長度,decimal 指定返回的小數位數。如果沒有指定長度,缺省的length 值為10,decimal 缺省值為0。
當length 或者decimal 為負值時,返回NULL;
當length 小于小數點左邊(包括符號位)的位數時,返回length 個*; 先服從length,再取decimal ;
當返回的字符串位數小于length,左邊補足空格。
二、去空格函數
1、LTRIM()把字符串頭部的空格去掉。
2、RTRIM()把字符串尾部的空格去掉。
三、取子串函數
1、left()
LEFT(
返回character_expression 左起 integer_expression 個字符。
2、RIGHT()
RIGHT(
返回character_expression 右起 integer_expression 個字符。
3、SUBSTRING()
SUBSTRING(
返回從字符串左邊第starting_ position 個字符起length個字符的部分。
四、字符串比較函數
1、CHARINDEX()
返回字符串中某個指定的子串出現的開始位置。
CHARINDEX(<’substring_expression’>,
其中substring _expression 是所要查找的字符表達式,expression 可為字符串也可為列名表達式。如果沒有發現子串,則返回0 值。
此函數不能用于TEXT 和IMAGE 數據類型。
2、PATINDEX()
返回字符串中某個指定的子串出現的開始位置。
PATINDEX(<’%substring _expression%’>,
與CHARINDEX 函數不同的是,PATINDEX函數的子串中可以使用通配符,且此函數可用于CHAR、VARCHAR 和TEXT 數據類型。
五、字符串操作函數
1、QUOTENAME()
返回被特定字符括起來的字符串。
QUOTENAME(<’character_expression’>[,quote_ character])其中quote_ character 標明括字符串所用的字符,缺省值為“[]”。
2、REPLICATE()
返回一個重復character_expression 指定次數的字符串。
REPLICATE(character_expression integer_expression)如果
integer_expression 值為負值,則返回NULL。
3、REVERSE()
將指定的字符串的字符排列順序顛倒。
REVERSE(
4、REPLACE()
返回被替換了指定子串的字符串。
REPLACE(
5、SPACE()
返回一個有指定長度的空白字符串。
SPACE(
6、STUFF()
用另一子串替換字符串指定位置、長度的子串。
STUFF(
如果起始位置為負或長度值為負,或者起始位置大于
character_expression1 的長度,則返回NULL 值。
如果length 長度大于character_expression1 中 start_ position 以右的長度,則character_expression1 只保留首字符。
六、數據類型轉換函數
1、CAST()
CAST(
2、CONVERT()
CONVERT(
1)data_type為SQL Server系統定義的數據類型,用戶自定義的數據類型不能在此使用。
2)length用于指定數據的長度,缺省值為30。
3)把CHAR或VARCHAR類型轉換為諸如INT或SAMLLINT這樣的INTEGER類型、結果必須是帶正號或負號的數值。
4)TEXT類型到CHAR或VARCHAR類型轉換最多為8000個字符,即CHAR或VARCHAR數據類型是最大長度。
5)IMAGE類型存儲的數據轉換到BINARY或VARBINARY類型,最多為8000個字符。
6)把整數值轉換為MONEY或SMALLMONEY類型,按定義的國家的貨幣單位來處理,如人民幣、美元、英鎊等。
7)BIT類型的轉換把非零值轉換為1,并仍以BIT類型存儲。
8)試圖轉換到不同長度的數據類型,會截短轉換值并在轉換值后顯示“+”,以標識發生了這種截斷。
9)用CONVERT()函數的style 選項能以不同的格式顯示日期和時間。style 是將DATATIME 和SMALLDATETIME 數據轉換為字符串時所選用的由SQL Server 系統提供的轉換樣式編號,不同的樣式編號有不同的輸出格式。
七、日期函數
1、day(date_expression)
返回date_expression中的日期值
2、month(date_expression)
返回date_expression中的月份值
3、year(date_expression)
返回date_expression中的年份值
4、DATEADD()
DATEADD(
返回指定日期date 加上指定的額外日期間隔number 產生的新日期。
5、DATEDIFF()
DATEDIFF(
返回兩個指定日期在datepart 方面的不同之處,即date2 超過date1的差距值,其結果值是一個帶有正負號的整數值。
6、DATENAME()
DATENAME(
以字符串的形式返回日期的指定部分此部分。由datepart 來指定。
7、DATEPART()
DATEPART(
以整數值的形式返回日期的指定部分。此部分由datepart 來指定。DATEPART(dd,date)等同于DAY(date)
DATEPART(mm,date)等同于MONTH(date)
DATEPART(yy,date)等同于YEAR(date)
8、GETDATE()
以DATETIME 的缺省格式返回系統當前的日期和時間。
八、統計函數
AVG()-返回的平均價值
count()-返回的行數
first()-返回第一個值
last()-返回最后一個值
max()-返回的最大價值
min()-返回最小的價值
total()-返回的總和
九、數學函數
abs(numeric_expr)求絕對值
ceiling(numeric_expr)取大于等于指定值的最小整數 exp(float_expr)取指數
floor(numeric_expr)小于等于指定值得最大整數 pi()3.1415926.........power(numeric_expr,power)返回power次方
rand([int_expr])隨機數產生器
round(numeric_expr,int_expr)安int_expr規定的精度四舍五入 sign(int_expr)根據正數,0,負數,返回+1,0,-1 sqrt(float_expr)平方根
十、系統函數
suser_name()用戶登錄名
user_name()用戶在數據庫中的名字 user用戶在數據庫中的名字 show_role()對當前用戶起作用的規則
db_name()數據庫名object_name(obj_id)數據庫對象名
col_name(obj_id,col_id)列名
col_length(objname,colname)列長度
valid_name(char_expr)是否是有效標識符
第二篇:sql語句
簡單基本的sql語句 幾個簡單的基本的sql語句
選擇:select * from table1 where范圍
插入:insert into table1(field1,field2)values(value1,value2)
刪除:delete from table1 where范圍
更新:update table1 set field1=value1 where范圍
查找:select * from table1 where field1 like ’%value1%’
(1)數據記錄篩選:
sql=“select * from 數據表 where 字段名=字段值 order by 字段名 [desc]”
sql=“select * from 數據表 where 字段名 like '%字段值%' order by 字段名 [desc]”sql=“select top 10 * from 數據表 where 字段名=字段值 order by 字段名 [desc]”sql=“select top 10 * from 數據表 order by 字段名 [desc]”
sql=“select * from 數據表 where 字段名 in('值1','值2','值3')”
sql=“select * from 數據表 where 字段名 between 值1 and 值2”
(2)更新數據記錄:
sql=“update 數據表 set 字段名=字段值 where 條件表達式”
sql=“update 數據表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達式”
(3)添加數據記錄:
sql=“insert into 數據表(字段1,字段2,字段3 …)values(值1,值2,值3 …)”
sql=“insert into 目標數據表 select * from 源數據表”(把源數據表的記錄添加到目標數據表)
(4)數據記錄統計函數:
AVG(字段名)得出一個表格欄平均值
COUNT(*;字段名)對數據行數的統計或對某一欄有值的數據行數統計MAX(字段名)取得一個表格欄最大的值
MIN(字段名)取得一個表格欄最小的值
SUM(字段名)把數據欄的值相加
引用以上函數的方法:
sql=“select sum(字段名)as 別名 from 數據表 where 條件表達式”
set rs=conn.excute(sql)
用 rs(“別名”)獲取統計的值,其它函數運用同上。
查詢去除重復值:select distinct * from table1between的用法
between限制查詢數據范圍時包括了邊界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 數值1 and 數值2
in 的使用方法
select * from table1 where a [not] in(‘值1’,’值2’,’值4’,’值6’)
第三篇:SQL語句
SQL語句,用友的SQL2000,通過查詢管理器寫的語句
1、查詢
2、修改
3、刪除
4、插入
表名:users 包含字段:id,sname,sage
查詢 select * from users查詢users表中所有數據
select id,sname,sage from users查詢users表中id,sname,sage字段所有數據
可以限定查詢條件比如:
select sname from users where sage>20查詢年齡大于20歲的所有人的名字
修改 update users set sname='李四',sage=22將users表中數據都改為姓名李四,年齡22
update users set sname='李四',sage=22 where id=1限定id為1的人的信息修改為
姓名李四,年齡22
可以加where條件。
刪除 delete from users where id=2刪除users表中id為2的一行數據delete from users 代表刪除users中所有數據
插入 insert into users(id,sname,sage)values(5,'劉三',21)插入一條數據
SQL四條最基本的數據操作語句:Insert,Select,Update和Delete。
例如:SELECT columns FROM tables;其中columns為列的名稱,tables為表格名稱
1、查詢:select 字段名 from 表名 where 條件
查找在表(如A)中符合條件的字段
2、修改:update 表名 set 字段名=‘所要修改的內容’
修改在表(如A)中的字段的值為:所要修改的內容
3、刪除: delete from 表名 where 條件
刪除符合條件的表(如A)中的信息
4、插入: insert into 表名(字段名)(‘插入內容’)
在表(如A)中插入字段為:插入內容 的一條信息
第四篇:sql語句學習
一、選擇題
1、SQL語言是()語言。——(SQL特點)(易)
A)層次數據庫 B)網絡數據庫 C)關系數據庫D)非數據庫
答案:C2、SQL語言具有兩種使用方式,分別稱為交互式SQL和()。
——(SQL語言使用方式)(易)
A)提示式SQLB)多用戶SQLC)嵌入式SQLD)解釋式SQL
答案:C
3-4-5()包括數據庫模式定義和數據庫存儲結構與存取方法定義。()實現對DB的操作,包括查詢、插入、刪除、修改數據庫中的數據。()用于數據保護,包括數據的安全性,完整性,并發控制和恢復等。——(數據庫語言DDLDMLDCL)(中)
A)數據控制子語言 B)數據定義子語言 C)數據操縱子語言 D)數據庫語言
答案:B C A
6-7-8-9-
10、下列SQL語句中,實現數據檢索的語句是(),修改表結構的是(),修改屬性值的是(),刪除表結構的是(),刪除表記錄的是()。
——(DROP TABLE, ALTER TABLE,UPDATE, DELETE,SELECT 語句)(易)
A)SELECTB)DROPC)UPDATED)ALTERE)DELETE
答案:A D C B E
二、用關系代數表達式及SQL語句描述關系查詢
1、設有如下關系表R、S和T:——(易)R(BH,XM,XB,DWH)
S(DWH,DWM)
T(BH,XM,XB,DWH)
寫出實現下列關系代數的SQL語句:
1)?DWH?'100'(R)σDWH=’100’(R)
2)?XM,XB(R)∏xM,XB(R)
3)?XM,DWH(?
4)R?S R∞S
5)?XM,XB,DWH(?
解:
1)SELECT * FROM R WHERE DWH=’100’;
2)SELECT XM,XB FROM R;
3)SELECT XM,DWH FROM R WHERE XB=’女’;
4)SELECT R.*,S.DWM FROM R, S WHERE R.DWH=S.DWH;
5)SELECT XM,XB,DWH FROM R,S WHERE R.DWH=S.DWH AND XB=’男’;XB?'男'XB?'女'(R))∏XM,DWH(σXB=’女’(R))(R?S))∏XM,XB,DWH(σXB=’男’(R∞S))
2、設有如下三個關系:——(易-易)
A(A#,ANAME,WQTY,CITY): A#:商店代號;ANAME:商店名;WQTY:店員人數
B(B#,BNAME,PRICE):B#:商品號;BNAME:商品名稱;
AB(A#,B#,QTY):QTY:商品數量
試用關系代數和SQL語言寫出下列查詢。
1)找出店員人數不超過100人或者在長沙市的所有商店的代號和商店名;
2)找出供應書包的商店名;
解:
1)?A#,ANAME(?WQTY??100 ? CITY?'長沙'(A))∏A#,ANAME(σWQTY<=100ⅤCITY=’長沙’(A))
SELECT A#,ANAME FROM A WHERE WQTY<=100 OR CITY=’長沙’;
2)?ANAME((?BNAME?'書包'(B))?AB?A)∏ANAME((σBNAME=’書包’(B))∞AB∞(A))
SELECT ANAME FROM A,B,AB
WHERE BNAME=’書包’ AND B.B#=AB.B# AND AB.A#=A.A#;
3.設有如下關系模式:
student(NO, NAME , SEX ,BIRTHDAY, CLASS)
teacher(NO,NAME,SEX,BIRTHDAY,PROF,DEPART)PROF為職稱,DEPART為系別
course(CNO, CNAME, TNO)
score(NO, CNO, DEGREE)DEGREE 為成績
寫出實現以下各題功能的SQL語句:
(1)查詢至少有2名男生的班號;——(難)
(2)查詢不姓“王”的同學記錄;——(易)
(3)查詢每個學生的姓名和年齡;——(難)
(4)查詢學生中最大和最小的birthday日期值;——(中)
(5)查詢學生表的全部記錄并按班號和年齡從大到小的順序;——(中)
(6)查詢男教師及其所上的課程;——(中)
(7)查詢最高分同學的學號,課程號和成績;——(中)
(8)查詢和“李軍”同性別并同班的所有同學的姓名;——(中)
(9)查詢選修“數據庫系統概論”課程的男同學的成績表;——(中)
(10)查詢所有未講課的教師的姓名和所在系別;——(難)
(11)查詢“計算機系”教師所教課程的成績表;——(難)
(12)查詢選修“3-105”課程的成績高于“109”號同學成績的所有同學的記錄;——(難)
(13)查詢最低分大于70,最高分小于90的學生的學號;——(中)
(14)查詢成績在60到80之間的所有記錄;——(中)
(15)查詢成績比該課程平均成績低的同學的成績表;——(相關子查詢)(難)
(16)查詢所有女教師和女同學的姓名、性別和生日;——(中)
(17)查詢“計算機系”和“無線電系”不同職稱的教師的姓名和職稱;——(中)
解:(1)SELECT CLASS FROM student WHERE SEX=‘男’
GROUP BY CLASS HAVING COUNT(*)>=2;
(2)SELECT * FROM student WHERE NAME NOT LIKE ‘王%’;
(3)SELECT NAME,year(date())-year(birthday)as age FROM student;
(4)SELECT MAX(BIRTHDAY), MIN(BIRTHDAY)FROM student;
(5)SELECT * FROM student ORDER BY CLASS,BIRTHDAY DESC;
(6)SELECT x.name, y.cname FROM teacher x, course y WHERE x.no=y.tno and x.sex=’男’;
(7)SELECT * FROM score WHERE degree=(SELECT max(degree)FROM score);
(8)SELECT name FROM student WHERE sex=(SELECT sex FROM student WHEREname=’
李軍’)and class=(SELECT class FROM student WHERE name=’李軍’);
(9)SELECT * FROM score WHERE no IN(SELECT no FROM student WHERE sex=‘男’)and
cno=(SELECT cno FROM course WHERE cname=‘數據庫系統概論’);
(10)SELECT name, depart FROM teacher t WHERE NOT EXIST(SELECT * FROM course c
WHERE c.tno=t.no);
(11)SELECT * FROM score s, teacher t, course c WHERE t.depart=’計算機系’ and t.no=c.tno
and c.cno=score.cno;
(12)SELECT * FROM student s, score sc WHERE s.no=sc.no and cno=’3-105’ and
degree>(SELECT degree FROMsc WHERE no=’109’ and cno=’3-105’);
(13)SELECT no FROM score GROUP BY no HAVING min(degree)>70 and max(degree)<90;
(14)SELECT * FROM score WHERE degree BETWEEN 60 AND 80;
(15)SELECT * FROM score a WHERE degree <(SELECT avg(degree)FROM score b WHERE b.cno=a.cno group by b.cno);
(16)SELECT name, sex, birthday FROM teacher WHERE sex=‘女’UNION SELECT name, sex,birthday FROM student WHERE sex=‘女’;
(17)SELECT name, prof FROM teacher WHERE depart=’計算機系’ OR depart=’無線電系’
order by prof;
4、設有圖書登記表TS,具有屬性:BNO(圖書編號),BC(圖書類別),BNA(書名),AU(著者),PUB(出版社)。按下列要求用SQL語言進行設計。——(易)
1)按圖書館編號BNO建立TS表的索引ITS;
2)查詢按出版社統計其出版圖書總數。
3)刪除索引。
解:1)CREATE INDEX ITSON TS(BNO);
2)SELECT PUB,COUNT(BNO)FROM TS GROUP BY PUB;
3)DROP INDEXITS;
5、已知三個關系R、S和T——(中)
R(A,B,C)S(A,D,E)T(D,F)
試用SQL語句實現如下操作:
1)R、S和T三個關系按關聯屬性建立一個視圖R-S-T;
2)對視圖R-S-T按屬性A分組后,求屬性C和E的平均值。
解:1)CREATE VIEW R-S-T(A,B,C,D,E,F)AS
SELECT R.A , B, C ,S.D, E, F FROM R, S, T
WHERE R.A=S.A AND S.D=T.D;
2)SELECT AVG(C), AVG(E)FROM R-S-T GOUPY BY A;
6、設有學生表S(SNO, SN)(SNO為學生號,SN為姓名)和學生選修課程表SC(SNO,CNO,CN,G)
(CNO為課程號,CN為課程名,G為成績),試用SQL語言完成以下各題:——(易)
a)建立一個視圖V-SSC(SNO, SN, CNO, CN, G);
b)從視圖V-SSC上查詢平均成績在90分以上的SN, CN 和G。
解:
1)CREATE VIEW V-SSC(SNO , SN, CNO, CN, G)AS
SELECT S.SNO, SN, CNO, CN, GFROM S, SC WHERE S.SNO=SC.SNO
2)SELECT SN, CN, G FROM V-SSC GROUP BY SNO HAVING AVG(G)>907、設有關系模式: 其中SB表示供應商,SN為供應商號,SNAME為供應商名字,CITY
為供應商所在城市; PB(PN, PNAME, COLOR, WEIGHT)其中PB表示零件,PN為零件代號,PANME為零件名
字,COLOR為零件顏色,WEIGHT為零件重量; JB(JN, JNAME, CITY)其中JB表示工程,JN為工程編號,JNAME為工程名字,CITY為工
程所在城市;
SPJB()其中SPJB表示供應關系,QTY表示提供的零件數量。
寫出實現以下各題功能的SQL語句:
(1)取出所有工程的全部細節;——(易)
(2)取出所在城市為上海的所有工程的全部細節;——(易)
(3)取出重量最輕的零件代號;——(難)
(4)取出為工程J1提供零件的供應商代號;——(易)
(5)取出為工程J1提供零件P1的供應商代號;——(易)
(6)取出由供應商S1提供零件的工程名稱;——(易)
(7)取出供應商S1提供的零件的顏色;——(易)
(8)取出為工程J1或J2提供零件的供應商代號;——(中)
(9)取出為工程J1提供紅色零件的供應商代號;——(易)
(10)取出為所在城市為上海的工程提供零件的供應商代號;——(易)
(11)取出為所在城市為上海或北京的工程提供紅色零件的供應商代號;——(中)
(12)取出供應商與工程所在城市相同的供應商提供的零件代號;——(中)
(13)取出上海的供應商提供給上海的任一工程的零件的代號;——(難)
(14)取出至少有一個和工程不在同一城市的供應商提供零件的工程代號;——(難)
(15)取出上海供應商不提供任何零件的工程的代號;——(難)
(16)取出這樣一些供應商代號,它們能夠提供至少一種由紅色零件的供應商提供的零件;
——(難)
(17)取出由供應商S1提供零件的工程的代號;——(易)
(18)取出所有這樣的一些 市的工程提供零件;——(難) (19)取出所有這樣的三元組 市的工程提供指定的零件;——(難) (20)重復(19)題,但不檢索兩個CITY值相同的三元組。——(難) 解: (1)SELECT * FROM JB; (2)SELECT * FROM JB WHERE CITY=‘上海’; (3)SELECT PN FROM PB WHERE WEIGHT=(SELECT MIN(WEIGHT)FROM PB); (4)SELECT SN FORM SPJB WHERE JN=‘J1’; (5)SELECT SN FORM SPJB WHERE JN=‘J1’AND PN=‘P1’; (6)SELECT JNAME FROM JB,SPJB WHERE SN=‘S1’AND SPJB.JN=JB.JN; (7)SELECT DISTINCT COLOR FROM PB,SPJB WHERE SN=‘S1’AND SPJB.JN=JB.JN' (8)SELECT SN FROM SPJB WHERE JN IN {J1, J2}; 或者 SELECT SN FROM SPJB WHERE JN=’J1’ OR JN=’J2’; (9)SELECT SN FROM SPJB,PB WHERE COLOR=‘紅色’AND PB.PN=SPJB.PN AND JN=’J1’; (10)SELECT DISTINCT SN FROM SPJB,JB WHERE CITY=‘上海’AND JB.JN=SPJB.JN; (11)SELECT SN FROM PB, JB, SPJB WHERE COLOR=‘紅色’AND CITY IN {‘上海’,‘北京’} AND PB.PN=SPJB.PN AND JB.JN=SPJB.JN; (12)SELECT PN FROM SB, JB , SPJB WEHRE SB.CITY=JB.CITY AND SB.SN=SPJB.SN AND JB.JN=SPJB.JN; (13)SELECT PN FROM SB, SPJB, JB WEHRE SB.CITY=‘上海’AND JB.CITY=‘上海’ AND SB.SN=SPJB.SN AND JB.JN=SPJB.JN; (14)SELECT JN FROM JB WHERE EXISTS(SELECT * FROM SB WHERE EXISTS(SELECT * FROM SPJB WHERE SB.CITY<>JB.CITY AND SPJB.SN= SB.SN AND SPJB.JN= JB.JN)); (15)SELECT DISTINCT JN FROM SPJB WHERE JN NOT IN(SELECT DISTINCT SPJB.JN FROM SB,SPJB WHERE SB.SN=SPJB.SN AND SB.CITY=‘上海’); (16)SELECT DISTINCT SPJB.SN FROM SB,SPJB WHERE SPJB.PN IN(SELECT SPJB.PN FROM SPJB,PB WHEREPB.PN=SPJB.PN AND PB.COLOR=‘紅色’; (17)SELECTJN FROM SPJB WHERE SN=’S1’; (18)SELECT DINSINCT SB.CITY , JB.CITY FROM SB, JB, SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.SN; (19)SELECT SB.CITY, SPJB.PN, JB.CITY FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN; (20)SELECT DISTINCT SB.CITY, SPJB.PN, JB.CITY FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY<>JB.CITY; 8、設有如下關系模式:——(中) 圖書關系B(圖書編號B#,圖書名T,作者A,出版社P); 讀者關系R(借書證號C#,讀者名N,讀者地址D); 借閱關系L(C#,B#,借書日期E,還書標志BZ); BZ=‘1’表示已還; BZ=‘0’ 表示未還; 寫出實現以下各題功能的SQL語句: (1)查詢“工業出版社”出版的圖書名 (2)將書號為B5的圖書的出版社改為“工業出版社” (3)查詢99年12月31日以前借書未還的讀者名與書名 (4)查所借的書包含借書證號為C1的讀者借出未還的所有書的讀者名與借書證號。 (5)刪去“工業出版社”出版的所有圖書及相關的借閱信息。 解: (1)SelectTfromBWhereP = ’工業出版社’ (2)UpdateBSetP=’工業出版社’ WhereB# = ’B5’ (3)SelectN , TFrom B, R , L WhereE <’99/12/31’ AND BZ=’0’ AND L.C#=R.C# AND L.B#=B.B# (4)select N,C# from R where not exists (select * from LL1 where L1.C#=’c1’ and BZ=‘0’ andnot exists (select * from L L2 where L2.c#=R.c# and L2.B#=L1.B#)) (6)Delete from LWhere B#IN(Select B#From B Where P=’工業出版社’); Delete from B Where P=’工業出版社’; 1.用SQL語句在“商學院教學管理”數據庫中建立學生表、課程表、成績表、教師表、授課表、班級表。實現下列要求: (1)按課本第99-100頁表結構要求建立以上六張表。 (2)在學生表中插入一個學生記錄:(”99082901”,”程麗”,”女”,1981-2-10,”群眾”,”200704”)。 (3)使選修CZ004號課的同學的成績為NULL值。 (4)為課程表加一”教師”列。 (5)修改課程表,使“肖貴”老師教CJ001號課。 (6)列出“王勇”老師所授課程的課號和課名。 (7)列出年齡不小于20的男生的學號和姓名。 (8)統計學生所選課程的門數。 (9)列出選修CJ001號課的學生的平均年齡。 (10)列出選修“計算機基礎”課的學生的平均成績、最高分和最低分。 (11)列出所有姓“李”的同學的姓名、年齡和性別。 (12)列出成績表中成績為空值的學生的姓名、課號。 (13)列出年齡大于女生平均年齡的男生的姓名和年齡。 (14)刪除成績表中無成績的記錄。 (15)把低于CJ001號課平均成績的所有同學的所有課程的成績提高5分。 (16)按學號升序,成績降序列出每個同學的選課情況(包括姓名、課名、成績)。 (17)按課號和成績降序列出每門課的選課情況包括課名、姓名、成績。 (18)按成績降序列出每個同學的姓名、總成績。 (19)求出學習全部課程的所有同學的名單。 (20)列出平均成績大與80分同學的學號和平均成績,按平均成績降序排列。 (25)查詢平均成績排在前5名的學生姓名及平均成績。 (26)統計選修課程在3門以上(含3門)的學生的學號、姓名和平均成績。 (27)查詢學生年齡超過21歲的學生信息。 (28)列出所有姓“李”的同學的學號、姓名、年齡和性別。 (29)按成績降序列出每個同學的姓名、總成績。第五篇:SQL語句練習