第一篇:vf常用sql語句
計算機二級VF SQL語句??伎偨Y。
數據庫相關操作命令:
1、 新建數據庫AA :create database AA
2、打開數據庫AA :open databaseAA
3、 選擇AA為當前數據庫:set database to AA
4、修改數據庫AA:Modify database AA
5、 刪除數據庫AA :Delete database AA
6、新建項目AA :Create projectAA
7、 數據庫變為自由表 :removetable
8、自由表添加成數據庫:addtable
表的相關操作:
1、 給表中某個字段增加~:replace 字段 with 基本工資*1.2for 性別=”女”
2、 建立索引命令 :indexon 索引表達式 tag 索引名 索引類型 排序類型
3、 定義候選索引 :altertable 表名 addunique 定義的字段 Tag 索引名
4、 打開表設計器修改表結構 :modifystruction
5、 添加字段修改表結構:altertable 表名 add條件例子:altertable 職工表 alter 基本工資 set
cehck 基本工資>800
6、 新建(自由)表:Create table 表名(free)條件{primary key(主關鍵字) check(有效性規則) error(出
錯信息) default(默認值)}
7、 插入添加記錄 :Inserinto 表名(字段1,字段2~~) values(表達式1~~)
8、 將某個表結構復制到AA :use 職工表/copystructiontoAA
9、 更新表的記錄|把~~改為~:update 表名 set更新表達式 where 更新條件
10、表記錄的刪除 :deletefrom 表名 where 條件新建視圖:create view 視圖名 asselect語句 表單操作:
1、新建表單 createform AA
2、修改表單 modify form AA
3、執行表單do fromAA
4、關閉表單thisform.release
表單屬性:(caption 標題,name 控件名、表單名,保存的名字~文件名)
1、 Alwaysontop {.F.} 位于其他窗口最上方 2 、Autocenter{.F.}自動在窗口居中顯示
3、closable 關閉按鈕
4、morable {.T.} 是否能移動
5、scrollbars表單滾動條類型
6、windowstate表單狀態
7、wind owtype 表單窗口模式
8、refresh刷新表單
表單方法:
1、show 顯示表單 ~visible屬性為.F. 成為活動對象
2、hide 隱藏表單
基本控件:
一、 命令按鈕:
1、default 相應按鈕與回車鍵綁定cancel 相應按鈕與ESC綁定
2、enabled可用與不可用
3、visible 可見與不可見
二、文本框:
1、controlsource 數據源
2、value 初始值
3、passwordcha密碼占位符顯為*
4、Inputmask 輸入格式
三、編輯框:
1、hideselection 是否仍顯示為選定狀態
2、Readonly {.T.}只讀狀態
3、scrollbars 滾動條的類型
4、seltext 所選內容
5、selLength 所選文本字符數
四、復選框:caption 標題controlsource 綁定的數據源value 選擇狀態
五、列表框:
1、rowsourcetype數據源類型rowsource條目是數據源
2、columncount 列數
3、controlsource 要綁定的數據源
4、value被選中條目
5、multiselect是否進行多重選定
6、listcount 數據條目的數目
8、selected 某個條目是否處于選定狀態
陸、組合框style 模式0-下拉組合框 2-下拉列表框
七、容器控件
1、命令組:buttoncount按鈕數目buttons 各按鈕數目value 當前狀態
2、選項組:Buttoncount 按鈕數目buttons各按鈕數目value值controlsource綁定數據源
3、頁框:pagecount 頁面數目Page頁對象tabs是否顯示頁面標題欄
4、表格:recordsourcetype數據源類型 recordsources數據源 (列屬性:controlsource在列中顯示的數據源常見表中一個字段,currentcontrol顯示接受活動單元格數據)(標頭屬性:Alignment標題文本對象中顯示對齊方式)
第二篇:SQL語句常用函數
、字符轉換函數
1、ASCII()
返回字符表達式最左端字符的ASCII 碼值。在ASCII()函數中,純數字的字符串可不用‘’括起來,但含其它字符的字符串必須用‘’括起來使用,否則會出錯。
2、CHAR()
將ASCII 碼轉換為字符。如果沒有輸入0 ~ 255 之間的ASCII 碼值,CHAR() 返回NULL 。
3、LOWER()和UPPER()
LOWER()將字符串全部轉為小寫;UPPER()將字符串全部轉為大寫。
4、STR()
把數值型數據轉換為字符型數據。
STR ([,length[, ]])
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 (, , length)
返回從字符串左邊第starting_ position 個字符起length個字符的部分。
四、字符串比較函數
1、CHARINDEX()
返回字符串中某個指定的子串出現的開始位置。
CHARINDEX (<’substring_expression’>, )
其中substring _expression 是所要查找的字符表達式,expression 可為字符串也可為列名表達式。如果沒有發現子串,則返回0 值。
此函數不能用于TEXT 和IMAGE 數據類型。
2、PATINDEX()
返回字符串中某個指定的子串出現的開始位置。
PATINDEX (<’%substring _expression%’>, )其中子串表達式前后必須有百分號“%”否則返回值為0。
與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 () 其中character_expression 可以是字符串、常數或一個列的值。
4、REPLACE()
返回被替換了指定子串的字符串。
REPLACE (, , ) 用string_expression3 替換在string_expression1 中的子串string_expression2。
5、SPACE()
返回一個有指定長度的空白字符串。
SPACE () 如果integer_expression 值為負值,則返回NULL 。
6、STUFF()
用另一子串替換字符串指定位置、長度的子串。
STUFF (, , ,)
如果起始位置為負或長度值為負,或者起始位置大于
character_expression1 的長度,則返回NULL 值。
如果length 長度大于character_expression1 中 start_ position 以右的長度,則character_expression1 只保留首字符。
六、數據類型轉換函數
1、CAST()
CAST ( AS [ length ])
2、CONVERT()
CONVERT ([ length ], [, style])
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)是否是有效標識符
第三篇:VF上機試題 SQL語言
VFP關系數據庫標準語言SQL
【機試】
[1] 在練習文件夾中有一個數據庫sdb,其中有數據庫表student
2、sc和course2。3個表結構如下所示:
STUDENT2(學號,姓名,年齡,性別,院系編號)
SC(學號,課程號,成績,備注)
COURSE2(課程號,課程名,選修課號,學分)
用SQL語句查詢"計算機軟件基礎"課程的考試成績在85分以下(含85分)的學生的全部信息并將結果按學號升序存入noex.dbf文件中(表的結構同student2,并在其后加入成績字段)。 答案: SELECT STUDENT2.*,成績 FROM STUDENT2,SC,COURSE2 WHERE
STUDENT2.學號=SC.學號
AND SC.課程號=COURSE2.課程號 AND 課程名="計算機軟件
基礎" AND 成績<=85 ORDER BY STUDENT2.學號 INTO TABLE
NOEX。
[2] 將order_list1表中的全部記錄追加到order_list表中,然后用SQL SELECT語句完成查詢:按總金額降序列出所有客戶的客戶號、客戶名及其訂單號和總金額,并將結果存儲到results表中(其中客戶號、客戶名取自customer表,訂單號、總金額取自order_list表) 答案:(1)SELECT * FROM ORDER_LIST1 INTO TABLE ORDER_LIST
(2)SELECT CUSTOMER.客戶號, ORDER_LIST.客戶名,訂單號,
總金額 FROM CUSTOMER, ORDER_LIST WHERE CUSTOMER.客戶
號=ORDER_LIST.客戶號 ORDER BY 總金額DESC INTO TABLE
RESULTS.
[3]將customer1表中的全部記錄追加到customer表中,然后用SQL SELECT語句完成查詢:列出目前有訂購單的客戶信息(即有對應的order_list記錄的customer表中的記錄),同時要求按客戶號升序排序,并將結果存儲到results表中(表結構與customer表結構相同)。
答案:SELECT * FROM CUSTOMER1 INTO TABLE CUSTOMER
SELECT * FROM CUSTOMER WHERE 客戶號 IN(SELECT 客戶號
FROM ORDER_LIST)ORDER BY 客戶號 INTO TABLE RESULTS
[4]列出總金額大于所有訂購單總金額平均值的訂購單(order_list)清單(按客戶號升序排列),并將結果存儲到results表中(表結構與order_list表結構相同)。
答案:SELECT * FROM ORDER_LIST WHERE 總金額>(SELECT AVG(總金額) FROM ORDER_LIST) ORDER BY 客戶號 INTO TABLE RESULTS.
第四篇:Sql語句查詢
sql語句多表連接查詢
在程序開發過程中,不僅可以對單一數據表進行查詢,還可以進行多表查詢,用戶通過多表查詢從多個表中提取出需要的數據。
多表查詢可以分為內連接查詢、外連接查詢以及聯合查詢。
1.內連接查詢
連接查詢是指通過各個表之間共同列的關聯性查詢數據。連接查詢分為內連接查詢和外連接查詢。內連接是將兩個相互交叉的數據集合中重疊部分的數據行連接起來,返回表示兩個數據集合之間匹配連接關系的數據行。
可以在FORM子句中使用INNER JOIN„ON„建立內連接,也可以在WHERE子句中指定連接條件建立內連接,例如:
select a.UserName,b.BookName,b.Datetm from UserInfo as a inner join SellSheet as b on a.UserID= b.UserID
也可以用下面的語句實現。
select a.UserName,b.BookName,b.Datetm from UserInfo as a,SellSheet as b where a.UserID=b.UserID
2.外連接查詢
外連接是對內連接的擴充,除了將兩個數據集合中重疊部分以內的數據行連接起來之外,還可以根據要求返回左側或右側數據集合中非匹配的數據,即左外連接(LEFT OUTER JOIN)和右外連接(RIGHT OUTER JOIN)。
l左外連接LEFT OUTER JOIN
左外連接LEFT OUTER JOIN邏輯運算符除了返回兩個數據表中滿足連接條件的行,它還返回任何在后一個數據表中沒有匹配行的前一個數據表中的行。非匹配行的部分字段列作為空值返回。
l右外連接RIGHT OUTER JOIN
右外連接RIGHT OUTER JOIN是左外連接的反向連接。它除了返回兩個數據表中滿足連接條件的行,還返回任何在前一個數據表中沒有匹配行的后一個數據表中的行。非匹配行的部分字段列作為空值返回。
3.使用UNION進行聯合查詢
使用UNION運算符可以進行聯合查詢。UNION運算符連接多個SELECT語句,將兩個或更多查詢的結果組合為單個結果集,該結果集包含聯合查詢中所有查詢的全部行。 使用UNION運算符遵循的規則如下:
(1)在使用UNION運算符組合的語句中,所有選擇列表的表達式數目必須相同(列名、算術表達式、聚集函數等)。
(2)在使用UNION組合的結果集中的相應列必須具有相同數據類型,或者兩種數據類型之間必須存在可能的隱性數據轉換,或者提供了顯式轉換。例如,在datetime數據類型的列和binary數據類型的列之間不能使用UNION運算符,除非提供了顯式轉換,而在money數據類型的列和int數據類型的列之間可以使用UNION運算符,因為它們可以進行隱性轉換。
(3)結果集中列的名字或者別名是由第一個SELECT語句的選擇列表決定的。
注意:對數據表進行聯合查詢時,結果集中行的最大數量是各表行數之“和”,而對數據表進行連接查詢時,結果集中行的最大數量是各表行數之“積”。
第五篇:SQL語句大全
SQL練習
一、 設有如下的關系模式, 試用SQL語句完成以下操作:
學生(學號,姓名,性別,年齡,所在系)
課程(課程號,課程名,學分,學期,學時)
選課(學號,課程號,成績)
1. 求選修了課程號為“C2”課的學生學號
2. 求選修了課程號為“C2”課的學生學號和姓名
3. 求沒有選修課程號為“C2”課的學生學號
4. 求選修了課程號為“C2”,又選修了課程號為“C3”課的學生學號
5.求選修了課程號為“C2”或“C3”課的學生學號
6.求選修了全部課程的學生學號
7.求至少選修了學號為“98002”的學生所學過的所有課程的學生的學號和姓名。
8.查詢學生選課表中的全部數據
9.查詢計算機系學生的姓名、年齡
10.查詢成績在70—80分之間的學生的學號、課程號和成績
11.查詢計算機系年齡在18—20之間且性別為“男”的學生的姓名和年齡
12.查詢成績在80分以上的學生的姓名、課程號和成績,并按成績的降序排列結果。
13.查詢哪些課程沒有人選修,要求列出課程號和課程名。
14.查詢數學系成績在80分以上的學生的學號,姓名
15.查詢課程號為“C02”的課程的最高分數。
16.查詢計算機系學生的最大年齡和最小年齡。
17.統計每個系的學生人數。
18.統計每門課程的選課人數和考試最高分。
19.統計每個學生的選課門數和考試總成績,并按選課門數的升序顯示結果。
20.查詢總成績超過200分的學生,要求列出學號、總成績。
21.用子查詢實現如下查詢:
(1) 查詢選修了課程號“C01”的學生的姓名和所在系。
(2) 查詢數學系成績在80分以上的學生的學號和姓名。
(3) 查詢計算機系考試成績最高的學生的姓名。
22.刪除選課成績小于60分的學生的選課記錄。
23.將所有選修了課程“C01”的學生的成績加10分。
24.將計算機系所有選修了課程“計算機文化基礎”課程的學生的成績加10分。
25.創建查詢學生的學號、姓名、所在系、課程號、課程名、課程學分的視圖。
26.創建查詢每個學生的平均成績的視圖,要求列出學生學號和平均成績。
27.創建查詢每個學生的選課學分的視圖,要求列出學生學號及總學分。