SQL2005 常用查询语句,最好再有高级查询的

最常用的 SQL 查询语句 1 . 简单查询 简单的 Transact-SQL 查询仅包含一个选择列表、一个 FROM 子句和一个 WHERE 子句。
其中每一个都描述了要查询的列、要查询的表或视图以及搜索条件。
例如,以下语句查询testtable表中名为“张三”的昵称字段和email字段。
SELECTnickname,emailFROMtesttableWHEREname='张三' (1 )选择列表 选择列表(select_list)是指要查询的列,它是一组列名列表、星号、表达式和变量(包括局部变量和全局变量)的集合。
1 . 选择所有列。
例如,以下语句显示 testtable 表中所有列的数据。
SELECT * FROM testtable 2 . 选择一些列并指定它们的显示顺序。
查询结果集中数据的顺序与选择列表中指定的列名的顺序相同。
示例:SELECTnickname,emailFROMtesttable3 , 更改列标题 选择列表允许您重新指定列标题。
定义格式如下。
列标题 = 列名称 列名称 列标题 如果指定的列标题不是标准标识符格式,则必须使用引号作为分隔符。
例如,以下语句使用 Kanji 显示列标题。
SELECT昵称=昵称,电子邮件=电子邮件FROM测试表4 .删除重复的行。
要显示表中满足您的条件的所有行,或删除重复的数据行,请在 SELECT 语句中使用 ALL 或 DISTINCT 选项。
默认为“全部”。
对于每个重复的数据行,DISTINCT 选项仅在 SELECT 返回的结果集中保留一行。
5 . 限制返回的行数。
使用 TOPn[PERCENT] 选项限制返回的数据行数。
TOPn表示返回n行,TOPnPERCENT表示n代表百分比,指定返回的行数等于总行数的百分比。
示例: SELECTTOP2 *FROMtesttableSELECTTOP2 0PERCENT*FROMtesttable (2 ) FROM 子句 FROM 子句指定 SELECT 语句的查询以及与该查询关联的表或视图。
您可以在 FROM 子句中最多指定 2 5 6 个表或视图,以逗号分隔。
在 FROM 子句中同时指定多个表或视图时,如果选择列表中存在同名的列,则必须使用对象名称限定这些列所属的表或视图。
例如,usertable 和 citytable 表都有一个 cityid 列。
查询两个表的cityid时,必须使用以下语句格式进行限定: SELECTusername,citytable.cityidFROMusertable,citytableWHEREusertable.cityid=citytable.cityid in FROM subtable 可以使用两种形式在语句中为表或视图指定别名:表名作为别名 表名别名。
例如,上述语句中可以使用的表别名格式为: SELECTusername, b.cityidFROMusertablea, citytablebWHEREa.cityid=b.cityid SELECT可以从表或视图中检索数据,也可以从其他查询语句返回的结果集中查询数据。
示例: SELECTa.au_fname+a.au_lnameFROMauthorsa,titleauthorta(SELECTtitle_id,titleFROMtitlesWHEREytd_sales>1 0000)AStWHEREa.au_id=ta.au_idANDta.title_id=t.title_id 在此示例中,SELECT 返回的结果集被赋予别名 t,并从中检索数据。
(3 ) 使用WHERE子句设置查询条件。
WHERE子句设置查询条件以排除不必要的数据行。
例如,以下语句查询保留期大于2 0 的数据。
SELECT*FROMusertableWHEREage>2 0 WHERE 子句可以包含各种条件运算符。
比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!< 范围运算符(表达式的值是否在指定范围内):BETWEEN…AND…NOTBETWEEN…AND… 列表运算符(其中表达式是列表中的指定项目):IN(项目 1 、项目 2 …) NOTIN(项目 1 、项目 2 …) 模式匹配器(确定值是否匹配;通配符形式指定字符匹配):LIKE、NOTLIKE 空值判断符(判断表达式是否为空):ISNULL、NOTISNULL 逻辑运算符(用于多个条件的逻辑连接):NOT、AND、OR1 、范围运算符 示例:ageBETWE EN1 0AND3 0 相当于age>=1 0ANDage<=3 02 列表运算符示例:countryIN('Germany','China') 3 . 模式匹配示例:常用于模糊搜索,以确定列值是否与指定的字符串格式匹配。
可用于查询 char、varchar、text、ntext、datetime 和smalldatetime 类型。
您可以使用以下通配符: 百分号 %:匹配任何类型和长度的字符。
对于中文,使用两个百分号。

sql小数转换为百分数

在 SQL 中,将小数转换为百分比需要结合数值计算和格式化。
常见的核心步骤是数值放大、保留小数、连接百分号。
以下为不同数据库的实现方法: MySQL推荐:使用CONCAT+FORMAT,示例代码:SELECTCONCAT(FORMAT(column_name*1 00,2 ),'%')ASpercentageFROMtable_name;其他:使用CONCAT(ROUND(0.8 7 9 9 *1 00,2 ),'%')进行四舍五入;使用 CONCAT(TRUNCATE(0.8 7 9 9 *1 00,2 ),'%') 截断十进制数。
SQLServer方法1 :使用CONVERT+ROUND,示例: SELECTCONVERT(VARCHAR(2 0),CONVERT(DECIMAL(1 8 ,2 ),ROUND(column_name*1 00,2 )))+'%'ASpercentageFROMtable_name;方法二:使用FORMAT函数(SQLServer2 01 2 +),示例:SELECTFORMAT(column_name*1 00,'0.00')+'%'ASpercentageFROMtable_name; HiveSQL 使用 CONCAT+ROUND,示例代码: SELECTCONCAT(ROUND(co lumn_name*1 00,2 ),'%')ASpercentageFROMtable_name;PostgreSQL 使用 TO_CHAR 格式,示例:SELECTTO_CHAR(column_name*1 00,'FM9 9 9 .9 9 %')ASpercentageFROMtable_name;注意事项 数据类型转换:在拼接 % 之前,必须将值转换为字符串避免类型错误。
精度控制:根据需要调整 ROUND 或 FORMAT 中的小数位数。
非零除数:进行除法计算时,需要确保分母不为0。
可以使用NULLIF来避免错误。

sql 如何格式化百分数

可以转换为字符格式并显示cast(cast(sum(A值)/sum(B值)asdecimal(1 6 ,4 ))*1 00asvarchar(1 0))+'%'