如何使用SQL查詢語句
一、 簡單查詢 簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。
它們分別說明所查詢列、查詢的表或視圖、以及搜索條件等。例如,下面的語句查詢testtable表中姓名為“張三”的nickname字段和email字段。
SELECT nickname,emailFROM testtableWHERE name='張三'(一) 選擇列表選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變量(包括局部變量和全局變量)等構成。 1、選擇所有列例如,下面語句顯示testtable表中所有列的數據:SELECT *FROM testtable 2、選擇部分列并指定它們的顯示次序查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。
例如:SELECT nickname,emailFROM testtable 3、更改列標題在選擇列表中,可重新指定列標題。定義格式為:列標題=列名列名 列標題如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列標題:SELECT 昵稱=nickname,電子郵件=emailFROM testtable 4、刪除重復行SELECT語句中使用ALL或DISTINCT選項來顯示表中符合條件的所有行或刪除其中重復的數據行,默認為ALL。
使用DISTINCT選項時,對于所有重復的數據行在SELECT返回的結果集合中只保留一行。 5、限制返回的行數使用TOP n [PERCENT]選項限制返回的數據行數,TOP n說明返回n行,而TOP n PERCENT時,說明n是表示一百分數,指定返回的行數等于總行數的百分之幾。
例如:SELECT TOP 2 *FROM testtableSELECT TOP 20 PERCENT *FROM testtable(二)FROM子句 FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。
在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:SELECT username,citytable。
cityidFROM usertable,citytableWHERE usertable。cityid=citytable。
cityid在FROM子句中可用以下兩種格式為表或視圖指定別名:表名 as 別名表名 別名(二) FROM子句FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。 在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。
在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:SELECT username,citytable。
cityidFROM usertable,citytableWHERE usertable。cityid=citytable。
cityid在FROM子句中可用以下兩種格式為表或視圖指定別名:表名 as 別名表名 別名例如上面語句可用表的別名格式表示為:SELECT username,b。 cityidFROM usertable a,citytable bWHERE a。
cityid=b。cityidSELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。
例如:SELECT a。au_fname+a。
au_lnameFROM authors a,titleauthor ta(SELECT title_id,titleFROM titlesWHERE ytd_sales>10000) AS tWHERE a。au_id=ta。
au_idAND ta。 title_id=t。
title_id此例中,將SELECT返回的結果集合給予一別名t,然后再從中檢索數據。
Sql 修改語句
如果你的這個“位置”是一個字段的話,就直接用 Update 語句更改其內容。
如果這個“位置”不是字段,只是顯示出來的順序,那就難說了。原因是這樣的:SQL中其實沒有一個物理位置的概念,所有數據記錄的順序依賴于索引及查詢時的排序指令。
所以不要去關心數據的物理位置先后,要改變位置得從自己的數據和查詢語句上著手。
不過呢,有一個聚集索引的與數據的存放順序有關系,LZ可以查查相關資料。只是說,聚集索引會改變存放順序,但它的核心是為其他索引服務的,設置得好,整個數據庫都會受益,查詢速度飛快,設置得不好,數據庫就的響應就會變慢了,甚至拖垮系統。
sql語句如何設置默認項
修改列的默認值
Oracle
SQL>ALTER TABLE test_tab
2 MODIFY sex DEFAULT '男';
表已更改。
SQL Server
通過新增約束來處理
1>ALTER TABLE test_tab
2>ADD CONSTRAINT
3>DF_test_tab_sex DEFAULT '男' FOR sex;
4>go
MySQL
通過MODIFY COLUMN來處理
mysql>ALTER TABLE test_tab
->MODIFY COLUMN sex VARCHAR(2) DEFAULT '男';
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
SQL 語句里set是什么意思啊
SET是SQL Server 中對已經定義的變量賦值的方式,經常與update語句一起使用。
語法:UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
例子如下:
update A set name=小張 where name =張三 //將小張的姓名改為張三
update A set name=小王 where name =王五 //將小王的姓名改為王五
擴展資料:
SQL Server 中對已經定義的變量賦值的方式用兩種,分別是 SET 和 SELECT,對于這兩種方式的區別如下:
1、對多個變量同時賦值時存在區別:
set不支持對多個變量進行賦值。
select支持對多個變量進行賦值。
2、表達式返回多個值時存在區別:
set對表達式返回多個值的時候會出錯
select對表達式返回多個值的時候是將結果返回到最后一個值賦給變量。
3、對表達式未返回值有區別:
set在對表達式的未返回值的時候,變量被賦null值。
select在對表達式的未返回值的時候,變量保持原值。
參考資料:搜狗百科-update
sql set語句
如果你說的是SQL語句的話,那么我從來沒見過set check的命令。。Alter table是有幾種帶SET關鍵字的子形式,常用的有SET DEFAULT為字段設置缺省值,SET NOT NULL 設置字段非空等。這里的約束是用ADD CONSTRAINT子形式創建的如:
ALTER TABLE 評分
ADD CONSTRAINT CK_1 /*為約束指定一個名稱*/
CHECK /*CHECK關鍵字,約束*/
( 分數 >=0 and 分數
樓主說的SET關鍵字常用于修改表數據的UPDATE語句中。而ALTER TABLE是對表的修改,表和表數據之間是不同的。
希望對你能有所幫助。