SQL SELECT语句详解:语法与实战示例
创始人
2024-12-15 05:24:26
0 次浏览
0 评论
请教SQL基本语句
SQL中最常用的命令是SELECT语句,它用于检索数据。语法为:SELECT[ALL|DISTINCT[ON(表达式[,...])]]*|表达式[ASoutput_name][,...][INTO[TEMPORARY|TEMP][TABLE]new_table][FROMfrom_item[,.]][WHERE条件][GROUPBY表达式[,...]][HAVINGcondi化[,...]][{UNION|INTERSECT|EXCEPT[ALL]}select][ORDERBY表达式[ASC|DESC|USING操作符][,...]][FORUPDATE[OFclass_name[,...]]][LIMIT{count|ALL}[{OFFSET|,}start]]我们现在将通过不同的示例演示SELECT语句的复杂语法。
这些示例中使用的表是在供应商和零件数据库中定义的。
1.4.1.1。
简单选择下面是一些使用Select语句的简单示例:示例1-4。
一个简单的带条件查询就是从表部分查找所有超过10个字段的记录:select*fromMPARTWHEREPRICE>10;然后得到表:PNO|PNAME|PRICE----+--------使用+--------3|Bolt|154|Cam|25中的select语句“*”将检索表中的所有属性。
如果我们只想从表部分获取属性PNAME和PRICE,我们使用以下语句:SELECTPNAME,PRICEFROMPARTWHEREPRICE>10;这次我们的结果是:PNAME|PRICE------+--------BOLT|15CAM|25请注意,SQL的SELECT语句对应的是关系演算中的“插值”,而不是From“选择”(详细信息请参见关系演算)。
WHERE子句中的条件可以使用关键字OR、AND和NOT进行逻辑连接:SELECTPNAME,PRICEFROMPARTWHEREPNAME='Bolt'AND(PRICE=0ORPRICE<=15);这将产生以下结果:PNAME|PRICE--------+--------BOLT|15算术运算可用于目标列表和WHERE子句中。
例如,如果我们想知道购买两个零件需要多少钱,我们可以使用以下查询:SELECTPNAME,PRICE*2ASDOUBLEFROMPARTWHEREPRICE*2<50>此技术可用于目标列表中的每个元素,为它们提供一个显示在结果列中的新标题。
这个新头衔通常称为姓氏。
此别名不能在此查询中的其他任何地方使用。
在直接使用语句控制数据库的ADO程序中,我使用过SELECT语句,但是我忘记使用INSERT和UPDATE这样的语句了!请各位大虾帮帮忙!附件:我的程序片段:DimadoCnnAsADODB.ConnectionDimadoRstAsADODB.RecordsetDimsqlAsStringSetadoCnn=NewADODB.ConnectionadoCnn.Open('Provider=Microsoft.Jet.OLEDB.4.0;DataSource=f:\VB\testdb.mdb;PersistSecurityInfo=False")sql='select*fromtest_table'SetadoRst=adoCnn.Execute(sql)'看起来像这样INSERT和UPDATE等语句不能以这种方式运行。
DELETE语句用于删除表中的实体(即一行记录)。
如果不添加它们,则使用DELETE来过滤和添加它们。
肯定会全部删除,也可能只删除一部分,也可能根本不删除,这个原则。
UPDATE的WHERE类似于
sql常用语句写法
基本SQL操作命令创建数据库、创建数据库、切换数据库名称、删除数据库、删除数据库名称、dropdatabase数据库名称将数据库执行为只读setsp_dboption'数据库名称','Rendonly','True'将数据库设置为只读。收缩自动执行sp_dboption'Database'name','autoshrink','true'将数据库设置为隔离访问executesp_dboption'数据库名称','singleuser'收缩数据库:dbccshrankdatabase(数据库名称,未使用空间的百分比)createtablecretable表名称(列名称数据类型,列名数据类型)在创建表时创建主键。
PrimaryKey(列名)删除主键可更改表名DropConstraintPK_Table创建表后的名称创建表时创建唯一约束。
可创建的表名(列名数据类型唯一,列名数据类型)创建表后创建唯一约束。
变量表名称addconstraint_table名称Unique(列名称)创建唯一约束后删除表更改启用表名称DropConstraint_Table名称创建表时创建检查约束,表可创建表名称(列名称数据类型检查(条件),列名称数据类型)创建表后创建检查约束表名addconstraintck_tablenamecreatecheck(condition)删除检查约束后表发生变化启用表名DropConstraint_Table创建命名表时创建默认约束。
可创建的表名称(列名称数据类型默认(默认值),列名数据类型)创建表后创建默认约束变量表名addconstraintdf_tablename默认(默认值)创建表后删除列名除默认约束外的变量表名变量表名dropconstraintdf_tablenametable创建时创建外键约束。
CREATEABLEtablename(ColumnNamedataTypeforeignKeyReferencetableName(PrimaryKey),ColumnNamedataType)在创建表后创建外键约束。
变量表名addconstraintfk_table名称外键(列名)参考外键名(主键)创建表后,去掉外键约束变量表名DropConstraintfk_table名称删除表DropTable表名设置列值自动编号CreateTable表名(列)名称数据类型意图(起始初始值、步长)、列名数据类型修改表中某列的数据类型变量表名[变量列名数据类型]向表中添加新列变量表名[添加列名数据类型]删除表中的列变量表名[DropColumn列名]插入输入数据表名值(相关列值)更新数据表名称设置新值where删除条件数据从表名称中删除where删除条件表中的所有数据截断表名称将现有表中的数据追加到另一个表中insert目标表名称从源查询中选择所有数据SEL源表列名称ect*从表名中按条件选择查询数据do*from表名where条件查询某列非重复数据select特定列名from表名where查询对条件进行升序排序select*from表名ORDERBYselect列名对查询结果进行降序排序*ORderby列名DSC按条件查询数据并排序*from表名where条件orderby列名选择查询结果中的列名自定义新列名=select父列名from表名where条件返回查询结果最上面一行select行号from表名*返回查询结果第一行号的百分之一scoreselecttoppercent%%*表名选择新列查询列中所有值的总和的名称=Sum(列名)from表名where条件查询列中所有值的平均值选择新列名=Average(列名)from表名where条件为非空值的数量。
查询确实,selectnew列名=count(columnname)表中非空值的数量from表名查询,selectnew列名=count(*)from表名查询selectmaxvaluesincolumnnew列名=selectmax(列名)从表名查询列中选择最小值选择新列名=min(列名)从表名组中按条件查询结果选择聚合函数(列名)条件不明确查询的列选择表名组按名称*表FROMNAMEWHERE列名表中的所有行,如“字符通配符”查询包含指定值Select*from表名where列名('value')isin查询指定值不在表中的所有行Select*from表名where列名isnotin('value')查询所有这些行列值介于值1和值2之间的表。
从表名中选择*,其中列名介于值1和值2之间。
查询表1和表2中同一列的所有行。
在表1上选择*from表1内联表2。
列=表2。
我所在的地方条件已经具备,可以使用了。
建立表的sql命令是什么
可创造。常用命令:1.从表中选择特定列2.从表中选择特定列;3.select列名from表名where列运算符值条件查询(运算符:=>>=Betweenlike)。
4.select*fromtablewherename='asdf'andid=1;和操作符实例。
5.select*fromtablewhere(name='dasdf'orid=23)anda_id='23';或与混合运算符。
6.select*fromtableorderby列名;7.insertintotablevalues('value','value','value','value');插入新行。
8.insertintotable(columnName,columnName)values('值','值');9.updatetablesetcolumnname=newvalue,columnname=newvaluewhere=2.更新更改表中的数据。
10.deletefromtablewhereid=1;11.从表中删除;删除所有行。
SQL高级语法:12.select*fromtablelimit5;13.selecttop2*fromtable;采取前两项。
14.selecttop50percent*fromtable;取50%的数据。
15.select*fromtablewhere列名like'n%';“%”可用于定义通配符(模式中缺少的字母)。
%:替换一个或多个字符。
_:仅替换一个字符。
16.select*fromtablewherein(1,2,3,4);IN运算符。
17.select*fromtablewhereBetweenBETWEEN运算符。
18.select*fromtable_nameasalias_name;SQLAlias(别名)。
19.selecta.id,a.name,b.timefromtable1asaleftjointable2asbwherea.id=b.uidoderbya,idesc。
下一篇:
C语言实现大写字母输入与处理技巧
相关文章
JAVA编程中的耦合与解耦:理解模块间的...
2024-12-16 00:32:11C语言教程:数倒序输出技巧与代码实例分享
2024-12-16 20:36:03MySQL下载后:驱动添加指南与版本匹配...
2024-12-14 20:32:52Java/C PHP:字符串在数组中查找...
2024-12-17 06:39:35C语言编程技巧与知识点解析,新手求教,前...
2024-12-18 00:43:56Java开发人才需求解析:岗位详解与职业...
2024-12-15 00:43:26Java:后端开发核心与全栈技术概述
2024-12-14 16:56:32Java方法重写详解及实战应用
2024-12-16 04:37:11上海黑马Java培训费用解析:22000...
2024-12-16 19:18:38Eclipse无JavaEE?MyEcl...
2024-12-20 04:20:22最新文章
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
热门文章
1
SQL多表连接查询全解析:JOIN语句应...
sql多表关联查询在执行SQL多表连接查询时,可以使用JOIN语句将多个表连接在...
2
Java中字符串类型详解:String与...
变量有字符类型,为什么没有字符串类型??基本类型:charshort、int、l...
3
JavaSE与JavaEE:从基础到企业...
javase 和javaee的区别?JavaSE和JavaEE...
4
Java程序员面试必知:核心技术问答与技...
java编程程序员技术面试常见面试?随着互联网的不断发展,Java开发已经成为很...
5
Java.exe与Javaw.exe:区...
程序中java和javaw有什么区别java和javaw的区别:两者都是Java...
6
深入解析:Java中的javax包及其与...
JAVA导入时,什么是javax?awt是java1.0,swing是java2...
7
大专生转行自学Java,迷茫时如何找到方...
我是大专生因没有好好学所以现在后悔了我想从事软件编程我正在自学java不知道怎么...
8
Java中Scanner类导入位置及使用...
在java中这句语言“importjava.util.Scanner;”是什么意...
9
Java数组倒序输出:排序后逆序存储方法...
Java数组倒序输出?1.反转数组的方法有很多种,比如先排序,然后倒序存储pub...
10
C语言改错难题解析:第二处错误详解及修改...
请问这个C语言改错题怎么做呀?我做了很久都没写出来,第二处错误不知道怎么改。那位...