2025年SQL基礎(chǔ)專項(xiàng)訓(xùn)練題庫_第1頁
2025年SQL基礎(chǔ)專項(xiàng)訓(xùn)練題庫_第2頁
2025年SQL基礎(chǔ)專項(xiàng)訓(xùn)練題庫_第3頁
2025年SQL基礎(chǔ)專項(xiàng)訓(xùn)練題庫_第4頁
2025年SQL基礎(chǔ)專項(xiàng)訓(xùn)練題庫_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2025年SQL基礎(chǔ)專項(xiàng)訓(xùn)練題庫考試時(shí)間:______分鐘總分:______分姓名:______一、選擇題1.以下哪個不是SQL的主要數(shù)據(jù)操縱語言(DML)?A.SELECTB.INSERTC.UPDATED.CREATE2.在SQL語句中,用于從一個表中選擇特定列的子句是?A.FROMB.WHEREC.SELECTD.GROUPBY3.如果要查詢表`employees`中所有員工的`name`和`salary`列,以下哪個SQL語句是正確的?A.SELECTname,salaryFROMemployees;B.SELECT*FROMemployeesWHEREname,salary;C.SELECTname,salaryFROM;D.SELECT,employees.salary;4.以下哪個條件運(yùn)算符用于表示“或”?A.&&B.||C.ANDD.EQ5.在`WHERE`子句中,用來檢查某個字段是否為空的正確語法是?A.fieldISemptyB.field=NULLC.fieldISNULLD.field<>NULL6.以下哪個聚合函數(shù)用于計(jì)算一組數(shù)值的總和?A.MINB.AVGC.SUMD.COUNT7.如果要查詢`orders`表中所有訂單的總金額(假設(shè)金額字段為`amount`),以下哪個SQL語句是正確的?A.SELECTSUM(amount)FROMorders;B.SELECTAVG(amount)AStotal_amountFROMorders;C.SELECTMAX(amount)FROMorders;D.SELECTCOUNT(amount)FROMorders;8.在`SELECT`語句中,使用`AS`關(guān)鍵字的主要目的是?A.給查詢結(jié)果添加排序B.表示查詢條件C.對數(shù)據(jù)進(jìn)行過濾D.為選定的列指定別名9.以下哪個子句用于對`SELECT`語句返回的結(jié)果進(jìn)行排序?A.WHEREB.GROUPBYC.ORDERBYD.HAVING10.`ORDERBY`子句默認(rèn)的排序方式是?A.降序B.升序C.隨機(jī)順序D.無排序11.如果要查詢`customers`表中所有來自“北京”的客戶的`name`,并且結(jié)果按`name`字段降序排列,以下哪個SQL語句是正確的?A.SELECTnameFROMcustomersWHEREcity='北京'ORDERBYnameDESC;B.SELECTnameFROMcustomersORDERBYcityDESC='北京';C.SELECTnameFROMcustomersORDERBYname='北京'DESC;D.SELECTnameFROMcustomersWHEREnameDESC='北京';12.在SQL中,用于去除查詢結(jié)果中重復(fù)行的關(guān)鍵字是?A.UNIQUEB.DISTINCTC.REMOVED.NO_REPEAT13.以下哪個SQL語句用于向`orders`表中插入一條新的訂單記錄(假設(shè)有`id`,`customer_id`,`order_date`列)?A.INSERTVALUES(100,5,'2023-10-27');B.INSERTINTOorders(id,customer_id,order_date)VALUES(100,5,'2023-10-27');C.ADDorders(100,5,'2023-10-27');D.NEWordersSETid=100,customer_id=5,order_date='2023-10-27';14.在`UPDATE`語句中,如果不使用`WHERE`子句,會發(fā)生什么?A.語句會報(bào)錯B.只會更新第一條記錄C.更新表中的所有記錄D.不會執(zhí)行任何操作15.以下哪個SQL語句用于更新`employees`表中`id`為101的員工的`salary`字段,將其設(shè)置為5000?A.UPDATEemployeesSETsalary=5000WHEREid=101;B.UPDATEemployeessalary=5000WHEREid=101;C.MODIFYemployeesSETsalary=5000WHEREid=101;D.SETemployeessalary=5000WHEREid=101;16.在SQL中,用于從一個表中刪除記錄的語句是?A.REMOVEB.DELETEC.ERASED.CLEAR17.以下哪個SQL語句用于從`orders`表中刪除所有狀態(tài)為'cancelled'的訂單?A.DELETEordersWHEREstatus='cancelled';B.REMOVEFROMordersWHEREstatus='cancelled';C.ERASEorders.status='cancelled';D.CLEARordersWHEREstatus='cancelled';18.以下哪個SQL語句用于創(chuàng)建一個名為`view_name`的視圖,該視圖包含`employees`表中的所有列?A.CREATEVIEWview_nameASSELECT*FROMemployees;B.CREATEVIEWASview_name(SELECT*FROMemployees);C.MAKEVIEWview_nameSELECT*FROMemployees;D.VIEWview_name=SELECT*FROMemployees;19.在SQL中,`INNERJOIN`與`LEFTJOIN`的主要區(qū)別在于?A.`INNERJOIN`不允許使用`ON`子句,而`LEFTJOIN`允許B.`INNERJOIN`只返回兩個表中匹配的行,而`LEFTJOIN`返回左表的所有行以及右表匹配的行(如果存在)C.`INNERJOIN`必須指定`USING`子句,而`LEFTJOIN`可以不指定D.`INNERJOIN`用于連接不同數(shù)據(jù)庫的表,而`LEFTJOIN`用于連接同一數(shù)據(jù)庫的表20.以下哪個SQL語句是內(nèi)連接(`INNERJOIN`)的正確語法示例(假設(shè)連接條件是`employees.id=departments.department_id`)?A.SELECT*FROMemployeesLEFTJOINdepartmentsONemployees.id=departments.department_id;B.SELECT*FROMemployeesINNERJOINdepartmentsONemployees.id=departments.department_id;C.SELECT*FROMemployeesJOINdepartmentsINNERONemployees.id=departments.department_id;D.SELECT*FROMemployees,departmentsWHEREemployees.id=departments.department_id;二、填空題1.在SQL語句中,用于指定查詢數(shù)據(jù)來源的子句是_________。2.語句`SELECTname,ageFROMusersWHEREage>30ORDERBYnameASC;`中,用于對結(jié)果進(jìn)行排序的子句是_________。3.用來計(jì)算平均值(平均數(shù))的聚合函數(shù)是_________。4.如果要查詢`products`表中所有價(jià)格(`price`)大于100的產(chǎn)品數(shù)量,應(yīng)使用聚合函數(shù)_________。5.在SQL中,表示“不等于”的條件運(yùn)算符是_________。6.語句`SELECTnameAScustomer_nameFROMcustomers;`中,`AS`關(guān)鍵字用于_________。7.要在`WHERE`子句中檢查一個字符串字段是否包含子串'abc',通常使用_________運(yùn)算符。8.在`INSERTINTO`語句中,使用關(guān)鍵字_________可以同時(shí)插入多行數(shù)據(jù)。9.語句`UPDATEproductsSETprice=price*1.1WHEREcategory='Electronics';`執(zhí)行后,會更新_________類別商品的價(jià)格。10.若要創(chuàng)建一個不包含重復(fù)行的查詢結(jié)果,應(yīng)在`SELECT`語句中使用_________關(guān)鍵字。三、寫代碼題1.假設(shè)有`students`表,包含`id`,`name`,`age`,`grade`列。請編寫SQL語句,查詢所有`age`大于等于20的學(xué)生的`name`和`grade`。2.假設(shè)有`sales`表,包含`sale_id`,`product_id`,`sale_date`,`amount`列。請編寫SQL語句,查詢在'2023-09-01'到'2023-09-30'期間(包含這兩天)銷售額(`amount`)最高的銷售記錄的`sale_id`和`amount`。3.假設(shè)有`authors`表(`author_id`,`name`)和`books`表(`book_id`,`title`,`author_id`)。請編寫SQL語句,查詢所有作者的名字和他們寫的書的數(shù)量。4.假設(shè)有`employees`表(`emp_id`,`name`,`department`)和`departments`表(`dept_id`,`dept_name`)。請編寫SQL語句,查詢每個部門的平均工資(`salary`,假設(shè)存在于`employees`表中),并按平均工資降序排列部門。5.假設(shè)有`customers`表(`customer_id`,`name`,`city`)和`orders`表(`order_id`,`customer_id`,`order_date`,`total_amount`)。請編寫SQL語句,查詢'上海'城市的客戶中,訂單總金額(`total_amount`)最多的前3位客戶的`customer_id`和`name`。試卷答案一、選擇題1.D解析:SQL的主要數(shù)據(jù)操縱語言(DML)包括`SELECT`(查詢)、`INSERT`(插入)、`UPDATE`(更新)和`DELETE`(刪除)。`CREATE`屬于數(shù)據(jù)定義語言(DDL),用于創(chuàng)建表等對象。2.C解析:`SELECT`子句用于指定要查詢和返回的列。3.A解析:選項(xiàng)A正確地選擇了`name`和`salary`列,并使用`FROM`子句指定了表名。4.B解析:`||`是SQL標(biāo)準(zhǔn)中用于表示“或”的邏輯運(yùn)算符。`OR`也可以使用,但`||`更為通用。5.C解析:檢查字段是否為空應(yīng)使用`ISNULL`語法。`ISempty`不是標(biāo)準(zhǔn)SQL語法。6.C解析:`SUM`函數(shù)用于計(jì)算一組數(shù)值的總和。7.A解析:`SUM(amount)`正確地計(jì)算了`amount`列的總和。8.D解析:`AS`關(guān)鍵字用于給列或表結(jié)果集指定別名。9.C解析:`ORDERBY`子句用于對`SELECT`語句返回的結(jié)果進(jìn)行排序。10.B解析:`ORDERBY`子句默認(rèn)按升序(`ASC`)排序,如果省略`ASC`或`DESC`。11.A解析:`WHEREcity='北京'`篩選城市為“北京”的客戶,`ORDERBYnameDESC`按姓名降序排列結(jié)果。12.B解析:`DISTINCT`關(guān)鍵字用于去除`SELECT`查詢結(jié)果中的重復(fù)行。13.B解析:`INSERTINTO`語句用于插入數(shù)據(jù),需指定要插入的列名和對應(yīng)的值。14.C解析:如果不使用`WHERE`子句,`UPDATE`語句會更新表中的所有記錄。15.A解析:語法`UPDATEtable_nameSETcolumn_name=valueWHEREcondition;`是標(biāo)準(zhǔn)的更新語句。16.B解析:`DELETE`語句用于從表中刪除記錄。17.A解析:`DELETEFROMtable_nameWHEREcondition;`是標(biāo)準(zhǔn)的刪除語句。18.A解析:`CREATEVIEWview_nameASSELECT*FROMtable_name;`是創(chuàng)建視圖的標(biāo)準(zhǔn)語法。19.B解析:`INNERJOIN`只返回兩個表中匹配的行,而`LEFTJOIN`返回左表的所有行以及右表匹配的行(如果存在)。20.B解析:`SELECT*FROMtable1INNERJOINtable2ONjoin_condition;`是內(nèi)連接的標(biāo)準(zhǔn)語法。二、填空題1.FROM解析:`FROM`子句用于指定查詢數(shù)據(jù)來源的表。2.ORDERBY解析:`ORDERBY`子句用于對查詢結(jié)果進(jìn)行排序。3.AVG解析:`AVG()`函數(shù)用于計(jì)算一組數(shù)值的平均值。4.COUNT解析:`COUNT(*)`或`COUNT(column_name)`用于計(jì)算行數(shù)或特定列非空值的數(shù)量。這里要求計(jì)算數(shù)量,`COUNT`最合適。5.<>解析:`<>`是不等于運(yùn)算符。6.為選定的列指定別名解析:`AS`關(guān)鍵字的作用是給列或表結(jié)果集起一個別名。7.LIKE解析:`LIKE`運(yùn)算符用于在`WHERE`子句中進(jìn)行模式匹配,常用于檢查字符串是否包含特定子串。8.VALUES解析:`INSERTINTOtable_nameVALUES(...),(...);`語句中,`VALUES`關(guān)鍵字后跟要插入的值。9.Electronics解析:`WHEREcategory='Electronics';`子句限定了更新的條件是類別為'Electronics'的商品。10.DISTINCT解析:`DISTINCT`關(guān)鍵字用于確保`SELECT`語句返回的結(jié)果集中不包含重復(fù)行。三、寫代碼題1.SELECTname,gradeFROMstudentsWHEREage>=20;解析:查詢`students`表中`age`字段大于等于20的記錄的`name`和`grade`列。2.SELECTsale_id,amountFROMsalesWHEREsale_dateBETWEEN'2023-09-01'AND'2023-09-30'ORDERBYamountDESCLIMIT1;解析:使用`BETWEEN`運(yùn)算符篩選日期在指定范圍內(nèi)的銷售記錄,按`amount`降序排列,并使用`LIMIT1`獲取最高銷售額的記錄。注意日期格式需與數(shù)據(jù)庫兼容。3.SELECT,COUNT(b.book_id)ASbook_countFROMauthorsaJOINbooksbONa.author_id=b.author_idGROUPBYa.author_id

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論