有三個表:學生表、課程表和學生選課表,它們的結構如下:學生表(
1、select 姓名 from 學生表 where 系別 = '計算機系';2、select 學號 from 學生選課表 where 成績 3、select 學號,成績 from 學生選課表 where 課程號=1;4、select 學生表.姓名,學生選課表.課程號,學生選課表.成績 from 學生表,學生選課表 where 學生表.學號 = 學生選課表.學號;5、select 姓名,年齡,性別 from 學生表 where 年齡 > (select 年齡 from 學生表 where name = '李明');。
SQL語句的基本題
SQL的關聯其實有多種方式,常用的是用關鍵字join,語法為:
"SELECT 。 FROM table a JOIN table b ON * = *"
常用的關聯方式有inner join (交集), left join (同左表), right join (同右表), cross join (并集)。
例如:
SELECT * FROM employee INNER JOIN department ON *mentID = *mentID;
SQL模糊查詢的語法為
“SELECT column FROM table WHERE column LIKE 'pattern';”。
SQL提供了四種匹配模式:
1. % 表示任意0個或多個字符。如下語句:
SELECT * FROM user WHERE name LIKE 'a%';
將會把a打頭的名字(name)全找出來;
2. _ 表示任意單個字符。語句:
SELECT * FROM user WHERE name LIKE 'a_';
將會把a打頭的兩個字母的名字(name)全找出來,如a1,a2。;
3. [ ] 表示括號內所列字符中的一個。語句:
SELECT * FROM user WHERE name LIKE '[abc]1';
將找出“a1”、“b1”、“c1”(而不是“abc1”);
如 [ ] 內有一系列字符(01234、abcde之類的)則可略寫為“0-4”、“a-z”,所以,本例可改寫為:
SELECT * FROM user WHERE name LIKE '[a-c]1';
4. [^] 表示不在括號所列之內的單個字符。語句:
SELECT * FROM user WHERE name LIKE '[^abc]1';
將找出“d1”、“e1”、“f1”等;
如 [ ] 內有一系列字符(01234、abcde之類的)則可略寫為“0-4”、“a-z”,所以,本例可改寫為:
SELECT * FROM user WHERE name LIKE '[^a-c]1';
用sql語句做一道題
select *,*,* from student s,course c,grade g where *=* and *=*; * 學生姓名 * 課程名 * 成績 表student 中 id為主鍵,字段name 學生姓名 表course 中 id 課程號 為主鍵 ,字段name 課程名 表grade中 sid 學號,cid 課程號 (sid,cid)為共同主鍵, 字段grade成績 上面的是Oracle里面的查詢語句,在其他數據庫里差不多,字段名不一樣可以自己把字段名改一下。
SQL語句的一道題 三個基本表:學生表(Student)、課程表(
1. select * from SC2. select Sname,Sage from Student where Sdept = '計算機'3. select Sno,Cno,Grade from SC where Grade >= 70 and Grade <= 804. select Sname,Sage from Student where Sage between 18 and 20 and Ssex = '男'5. select top 1 Grade from SC where Cno = 'C01'6. select max(Sage),min(Sage) from Student7. select Sdept,sum(Sno) from Student group by Sdept8. select *,sum(*),max(Grade) from SC join studet on * = * join Course on * = * group by *,max(grade)9. select sum(Cno),avg(Grade) from SC join Course on * = * join Student on *= * order by *10. select *,*,sum(Grade) A from SC join Student on * = * group by *,* having A > 20011. select *,* from Student join Course on * = * join SC on * = * where * = 'C02'12. select *,*,* from sc join student on * = * join course on * = * where * >= 80 order by * desc13. select cno,cname from ( select *,*,sun(sno) from student join course on * = * join sc on * = * group by cno,cname having sun(sno) > 0 )14. ① select *,* from ( select *,*,* from student join sc on * = * join course on * = * where * = 'C01' ) ② select *,* from ( select *,*,*,* from sc join student on * = sc,sno where * = '信息' and * >= 80 )③ select top 1 * from ( select *,*,sum(*) from sc join student on * = * where * = '計算機' group by *,* order by )15. delete from sc where grade < 5016. update sc set grade += 5 from sc join course on * = * join student on * = * where * = ( select * from sc join course on * = * where * = 'c01' )17. update sc set grade += 10 from sc join student on * = * where * = ( select * from student join sc on * = * join course on * = * where * = '計算機' and * = '計算機文化基礎' )18. create view [A] as select *,*,*,*,*,* from sc join student on * = * join course on * = *19. create view [A] as select *,avg(*) from sc join student on * = * group by *20. create view [A] as select *,sum(*) from sc join student on * = * group by *21. create index A on student(sname)22. 不會。