當前位置:首頁 » 數據倉庫 » 資料庫查詢語句練習
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫查詢語句練習

發布時間: 2023-07-22 01:33:31

資料庫作業!!!根據下面的描述和ER圖,寫出下面的查詢語句

1. 顯示所有俱樂部的編號、名雹扒肢稱及成立的年數。
SELECT 俱樂部編號,俱樂部名稱,DATEDIFF(FROMDATE ,DEALDATE) FROM 俱樂部
查找07級的會員記錄,顯示他們的俱樂部編號、俱樂部名稱、學號、姓名、所在系,結果按俱樂部編號、學號排序。(假設學號以「2007」打頭表示是2007級的學生)
SELECT * FORM 俱樂部,學源世生表 WHERE 學號 LIKE 『2007%』
俱樂部.姓名=學生.姓名
GROUP BY 俱樂部編號,學號

求各系學生的平均入學年齡,列出所在系、人數。
SELECT 系,sum(*) ,avg(l年齡)FORM 學生表 WHERE 系=『*』

查詢人數多於100 人的俱樂部的俱樂部名稱、人數。
SELECT 名稱,sum(俱樂部名稱 )from 俱樂部 where sum(俱樂部0>100
5. 用兩種方法(連接/嵌套……)查詢足球俱樂部的會員名單。
這個時間原因,不寫了,應該簡單!

6. 建立足球俱樂部的查詢視圖(屬性至少包括學號、姓名、入會日期等)。
CREATE VIEW football-view
AS
SELECT 足球俱樂部,學號 ,姓名,入會日期
FROM
學生入會登記
GROUP BY 學號
7. 查詢與「李麗」在同一個此正系的學生記錄。

SELECT 所在系 FROM 學生表
WHERE 所在系=(SELECT 所在寫 FROM 學生表 WHERE name=李麗 )

8. 查詢計算機系與數學系同名的同學。
我自己也糊塗這道!

將查詢學生入會登記表的許可權授予所有用戶。
GRANT SELECT TO
USER
本題不能保證正確!
10. 插入單條記錄。在學生表中插入一條新入學的學生記錄,學號「070401011」,姓名「王冰冰」,男,16歲,計算機系。

INSERT INTO 學生表(學號,姓名,性別,入學年齡,所在系)
VALUES (070401011,王冰冰」,男,16歲,計算機系)
11. 插入一批記錄(子查詢)。假設外語系的學生同時加入網路俱樂部,請將他們的記錄插入到學生入會登記表中,入會日期填寫當日系統日期。提示:注意子查詢的欄位列表應與學生入會登記表的欄位順序、數量、類型吻合。
這道題我也腦袋糊了

12. 修改單個記錄的數據。將學號為「050401004」的同學姓名更改為「錢小雲」。

UPDATE 學生入會登記表 SET name= 錢小雲
WHERE 學號= 『050401004』

13. 修改表結構,再批量修改記錄的數據。先使用命令ALTER TABLE在「俱樂部」表中增加「會費」一列,然後用UPDATE命令將該表中所有俱樂部會費置為10.00(表示10元)。
1 ALTER TABLE 俱樂部 ADD 會費;
2 UPDATE 俱樂部 SET 會費=10.00

14. 刪除單個記錄。刪除名為「王冰冰」的學生記錄。

DELETER FROM 學生表 WHERE name =『王冰冰』
15. 刪除一批記錄。將所有02級的學生從學生入會登記表中刪除。
DELETER FROM 學生入會登記表 WHERE 學號 LIKE '2002%'
聲明:以上書寫可能亂,個人才疏學淺,有幾道也詢問過同學.不能保證正確哦,上資料庫的課老師也逮得嚴。實在的話是:這個大學還是沒學到多少啊.我郁悶了一下午。加油。514886311qq,多多指教哦!

sql數據查詢練習

--1.1創建新表 score
create table score
(
[學號] varchar(10)
,[課程號] varchar(10)
,[成績] float
)
--1.2插入新表的值
insert into score values(103,'3-245',86)
insert into score values(105,'3-245',75)
insert into score values(109,'3-245',68)
insert into score values(103,'3-105',92)
insert into score values(105,'3-105',88)
insert into score values(109,'3-105',76)
insert into score values(101,'3-105',64)
insert into score values(101,'3-105',64)
insert into score values(101,'6-166',85)
insert into score values(107,'6-166',79)
insert into score values(108,'6-166',81)

--1.3 按排列順序查看創建的表的內容
select* from score order by [課程號] asc,[成績] desc --這樣查看不舒服,可以修改下,如下面這句:
select [課程號],[成績],[學號] from score order by [課程號] asc,[成績] desc

--1.4
select y=sum([成績]) --查找3-105 的分數之和,問題6-166的總分也是這個道理
, x=count([課程號]) from score where [課程號]='3-105'--查找3-105的課程個數
--計算平均分
select [3-105平均分]=y/x from(select y=sum([成績])
, x=count([課程號]) from score where [課程號]='3-105')t

--1.5 查詢成績為定值的記錄
select * from score where [成績]='85' or [成績]='86' or [成績]='88'
--這里用and 的話沒法查出內容,
--1.6 成績在多少到多少的記錄
select * from score where [成績] between 60 and 79 order by [成績] desc

--1.7查詢每個學生的最高分
select * from score where [成績] in(select max([成績]) from score group by [學號])
--1.8課程最高分
select * from score where [成績] in(select max([成績]) from score group by [課程號])
--各門課程最高分大於90的就是在上面的內容上增加一個where 條件,自己嘗試下
select * from(select * from score where [成績] in(select max([成績]) from score group by [課程號]))t
where [成績]>=90
--注意資料庫別名的用法't'
--1.9弟九個問題跳過,扯蛋的問題
--2.0課程次數及排序
select [課程號],[課程次數]=count([課程號]) from score group by [課程號] order by 課程次數 desc
--注意資料庫自定義欄位的使用
--升序 asc ,降序 desc

--2.1最後一個問題你自己考慮考慮,方法基本都在前面幾個問題裡面可以找到。

⑶ sql簡單查詢語句

1、首先打開資料庫,建立好表。

⑷ 關於sql資料庫的查詢語句

13.查詢電話號碼以4或7或8結尾 的學生的學號,姓名,性別,年齡,電話,需按電話(倒序)排序。
select snum,sname,ssex,ssage,Sphone from 學生 where sphone like '%4' or sphone like '%7' or sphone like '%8'
ORDER BY Sphone DESC
14.查詢數學系姓劉的學生所有信息(包含所有列)。
SELECT *
FROM sys.tables
where Sname like '劉%' and dname='數學系'
15.查詢年齡在20與23(含20,23)之間的男學生納簡戚姓名,課程名及其平均成績。
select sname,cname,avg(SCORE) from 學生,課程,選課 where Ssage between 20 and 23 and Ssex='男'
16.從學生表和選課表2個表中,查詢選修表所有的學生學號,咐行姓名、所修課程號及成績。
select選課.Snum,sname,cnum,score
from 選課 LEFT OUTER join 學生
on 選課.Snum=學生.Snum
17.從學生表和選課表2個表中,查詢所有學生(學生表所有的學生)姓名、學生性別,所修課程名及成績,按課程,成績(倒序)排列。
select sname,Ssex,cnum,score
from 學生 LEFT OUTER join 選課
on 學生.Snum=選課.Snum
ORDER BY score DESC
18.查詢每個老師姓名,其所教課程,及該門課程名的平均成績,最小成績,最大成績。
SELECT Tname, Cname,,AVG(score),max(score),min(score)
FROM 教師,課程,選課
19.查詢所教課程成績平均成績低於80分的老師號,姓名,其所教課程號,課程名,及該門課程的平均成績洞陵。
select Tnum,Tname,CNUM,CNMAE,AVG(score)
from 授課,教師,課程,選課
group by Tnum
having AVG(score)<80
20.查詢所有學生的學號,姓名、性別,課程號,所修課程及成績(可能沒有選修課程)。
SELECT 學生.Snum,學生.Sname,SSEX,課程.Cnum,課程.Cname,選課.Score
FROM 課程 INNER JOIN
選課 ON課程.Cnum =選課.Cnum INNER JOIN
學生 ON選課.Snum =學生.Snum

21.按照性別統計學生性別,最大歲數,最小歲數,平均歲數。

select ssex,MAX(ssage),MIN(ssage),AVG(ssage) from 學生
group by SSEX

⑸ 資料庫的查詢語句作業二

1、select * from 讀者信息表
2、select * from 借書表 where 編號='2002060328'
3、select * from 圖書信息表 where 書名 like '程序設計'
4、select * from 圖書信息表 where 出版社='清華大學出版社' order by 單價
希望對你有幫助

⑹ SQL資料庫語句查詢

一、
簡單查詢
簡單的transact-sql查詢只包括選擇列表、from子句和where子句。它們分別說明所查詢列、查詢的表或視圖、以及搜索條件等。
例如,下面的語句查詢testtable表中姓名為「張三」的nickname欄位和email欄位。
select
nickname,email
from
testtable
where
name='張三'
(一)
選擇列表
選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變數(包括局部變數和全局變數)等構成。
1、選擇所有列
例如,下面語句顯示testtable表中所有列的數據:
select
*
from
testtable
2、選擇部分列並指定它們的顯示次序
查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。
例如:
select
nickname,email
from
testtable
3、更改列標題
在選擇列表中,可重新指定列標題。定義格式為:
列標題=列名
列名
列標題
如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列標題:
select
昵稱=nickname,電子郵件=email
from
testtable
4、刪除重復行
select語句中使用all或distinct選項來顯示表中符合條件的所有行或刪除其中重復的數據行,默認為all。使用distinct選項時,對於所有重復的數據行在select返回的結果集合中只保留一行。
5、限制返回的行數
使用top
n
[percent]選項限制返回的數據行數,top
n說明返回n行,而top
n
percent時,說明n是表示一百分數,指定返回的行數等於總行數的百分之幾。
例如:
select
top
2
*from
testtable
select
top
20
percent
*
from
testtable
(二)from子句
from子句指定select語句查詢及與查詢相關的表或視圖。在from子句中最多可指定256個表或視圖,它們之間用逗號分隔。
在from子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:
select
username,citytable.cityid
from
usertable,citytable
where
usertable.
本篇文章來源於
黑軟基地-中國最大的黑客教程計算機安全教程下載基地
原文鏈接:
http://www.hackvip.com/article/sort056/sort058/kkkcc.com-2297.html

⑺ 資料庫基礎-SQL查詢語句8條,幫忙寫下。

1
select deptno,max(salary) from dbo.emp

2
select b.ename,a.dname,b.salary
from dbo.dept a inner join dbo.emp b on a.deptno=b.deptno

3
select b.ename,a.dname,b.salary
from dbo.dept a left join dbo.emp b on a.deptno=b.deptno

4
select b.ename,b.salary
from dbo.dept a inner join dbo.emp b on a.deptno=b.deptno and a.dname='開發部'

5
select a.ename,a.salary,b.ename,b.salary
from dbo.emp a left join dbo.emp b on a.mgr=b.empno

6
select esex,count(*) from dbo.emp group by esex

7
select * from dbo.emp where deptno between 2 and 4 union all
select * from dbo.emp where empno between 2 and 8

8
select empno,ename,deptno,salary into newemp from dbo.emp