程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 數據庫的應用

數據庫的應用

編輯:DB2教程

數據庫的應用


數據庫(MS)

關於獲取沙盒路徑

// 1. 獲取當前的沙盒路徑(Doucuments)

NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];// 這樣寫不會越界報錯,【0】若越界會報錯

關於排序

desc 倒序(MS)

asc 正序

對於sqlite的查詢語句可以用簡寫

//1.查詢所有年齡大於25的學生姓名和班級編號並且按照學號從大到小排列

// NSString * selectAge = @"select from s.stu_id where ";

// select s.stu_id, s.stu_age,s.stu_name,s.class_id from t_student s where s.stu_age>25 order by stu_age desc 查詢語句 t_student s將t_student簡寫為s

// 2.查詢所有年齡大於25的班級編號為1和2的學生姓名且按照學號從小到大排序

// select s.stu_name,s.stu_id,s.stu_age,s.class_id from t_student s where s.stu_age >25 and s.class_id in (1,2) order by s.stu_id

select s.stu_name,s.stu_id,s.stu_age,s.class_id from t_student s where s.stu_age >25 and s.class_id =1 or s.class_id=2 order by s.stu_id

// 子查詢3-5

// 3.查詢年齡大於平均值得人員信息

// select avg(s.stu_age)from t_student s

// select s.stu_id ,s.stu_age,s.stu_name from t_student s where stu_age > (select avg(stu_age) from t_student )

// select * from t_student where stu_age > (select avg(stu_age) from t_student )

// 4.查詢班級名稱為“班級1”的所有學員信息(注:查此時班級編號未知)

//select * from t_student where class_id =(select class_id from t_class where class_name ='班級1')

// 5.查詢除了班級名稱為“班級1”的所有學員信息(注意此時班級標號未知)

// select * from t_student where class_id !=(select class_id from t_class where class_name ='班級1')

// 表鏈接(重點中重點)

//兩個表的數據放在一行上需要拼接

// select stu.stu_name NAME,stu.stu_age AGE,cla.class_name ss

// from

// t_student stu,t_class cla // 關聯的表用逗號分隔

// where

// stu.class_id=cla.class_id // 關聯的信息,如果不寫,則數據會出現重復

// 2.查詢所有年齡大於25的學生和班級信息,包括(學號、姓名、班級編號、班級名稱)

// select stu.stu_id,stu.stu_age,cla.class_id,cla.class_name from t_student stu,t_class cla where stu.class_id=cla.class_id and stu.stu_age>25

// 3.查詢“班級1”和“班級2”學生和班級信息,包括(學號、姓名、班級編號、班級名稱)

// select stu.stu_id,stu.stu_name,cla.class_id,cla.class_name from t_student stu,t_class cla where stu.class_id = cla.class_id and cla.class_name in('班級1','班級2')

// 分組

// 4.統計每個班級的人數

// select count(*)from t_student t group by t.class_id 四個結果

// select count(*)from t_student t group by t.class_id,t.stu_id 先按照班級編號分組,再對結果按學生編號分組,因為4個班有各有4個學生,所以第一次分組,4個班級4個學生,然後再按照學生編號對這4各班級的學生分組,因為每個學生編號都不同,所以16個結果

// 1.統計每個班級最大年齡

// select max(s.stu_age ),class_id from t_student s group by s.class_id

// 2.統計每個班級所有年齡之和

// select sum(s.stu_age),class_id from t_student s group by s.class_id

// 3. 統計每個班級平均年齡

// select avg(s.stu_age),class_id from t_student s group by s.class_id

// 查詢平均年齡大於25的所有學生信息

// select * from t_student s where s.stu_age>(select avg(s.stu_age) from t_student s group by s.class_id)

// select * from t_student t group by t.class_id,t.stu_age having(avg(t.stu_age)>25)

// 條件:having(avg(t.stu_age)>25):having 分組特有的關鍵字表條件,平均分大於25的

// 分組1:t.class_id滿足平均分大於25的按班級編號分組

// 分組2:t.stu_age 再按年齡分組

// select後面跟*打印table符合分組條件的所有信息,後面跟具體那一列或者幾列就顯示哪幾列,中間用‘,’分隔

// 4.統計平均年齡大於25的班級信息和學生信息

// select * from t_student stu,t_class cla where stu.class_id = cla.class_id group by stu.stu_age having (avg(stu.stu_age)>25)

// select stu.stu_name,stu.stu_age,cla.class_name

// from

// t_student stu,t_class cla

//where

// stu.class_id = cla.class_id

// and cla.class_id in(

//

// select

// t.class_id

// from

// t_student t

// group by t.class_id

// having(avg(t.stu_age)>25)

// )

//

// // 當業務比較復雜,要用查詢出的數據做成的虛表,在用這個虛表當已經存在的表來判斷、鏈接分組等

// select A.stu_name from (

// select stu.stu_name,stu.stu_age,cla.class_name

// from

// t_student stu,t_class cla

// where

// stu.class_id = cla.class_id

// and cla.class_id in(

//

// select

// t.class_id

// from

// t_student t

// group by t.class_id

// having(avg(t.stu_age)>25)

// )

// )A

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved