sql 基础知识 语句解释 select fieldname from tablename where pkfield = pkvalue
发布网友
发布时间:2022-04-07 21:29
我来回答
共3个回答
热心网友
时间:2022-04-07 22:58
select fieldname from tablename where pkfield = pkvalue
sql语句可以直接翻译:
选择 fieldname 从tablename 哪里的 pkfield = pkvalue
上面的翻译整理下就是:
从tablename中选择那些pkfield字段的值为pkvlaue的行中的字段fieldname的值。
例如,表t_test有如下结构和数据,其中pkfield为主键:
pkfield fieldname elsefield
1 f1 e1
2 f2 e2
3 f3 e3
4 f4 e4
sql: select fieldname from t_test where pkfield = 2
含义:从t_test中选择那些pkfield字段的值为2的行中的字段fieldname的值。
那么返回结果就是:
fieldname
f2
如果sql为:sql: select fieldname from t_test where pkfield > 2,则返回结果为:
fieldname
f3
f4
从你给的这条sql语句来看,这不是具体的表,而是一个概括性的sql文。因为主键的英文是primary key,从pkfield这个来看,应该是主键域(主键字段),而pkvalue则为主键值。这条sql需要将其中的关键字部分(如tablename、fieldname、pkvalue等)替换后才能应用于其他表。由于主键字段的取值唯一性,这样的sql语句是最多只能得到一条数据。
字段名和列名其实没有区别,甚至可以说是同一种东西,就像表格的表头。比如说如下表结构:
表名:西游记
id 姓名 性别
1 孙悟空 男
2 猪八戒 男
3 唐三藏 女
在上面的表结构中,id、姓名、性别这三个都是字段名,也可以说是列名。自然这是纵向看的,纵向看表,会看到相似的东西,比如id,如果定义的表id为int型,则id列的值都必须是int型数据。那么横向来看,1 孙悟空 男,这组数据成为行,行之间也是有关系的,一行通常对应一个对象,行也称作元组。每个元组的每一个元素,都是该元素所在列的一个取值而已。字段名通常确定后不会变,而值不同,它是数据库表的作用所在,一定会伴随数据值的增删改等操作,所以字段或者说是列,在表中的数目是有限的,是固定的,数据值或者是行,是不确定的,是随时可以增删改的。
至于fieldname和pkvalue,只是一种假设性的代名词,比如上面的表结构有如下sql:
select 姓名 from 西游记 where id = 2
就是将你所提供的sql:
select fieldname from tablename where pkfield = pkvalue
中的某些关键字替换后的结果,其中:
fieldname(字段域)被姓名代替,即这条sql文选择的是姓名这一列的值;
tablename(表名)被西游记代替,即数据来源是表西游记;
pkfield(主键域)被id代替,即选择条件是id;
pkvalue(主键值)被2代替,即选择条件的值为2的数据;
另外,pkfield可以不是主键,可以是任何列名,条件和条件的值之间也不必是=,可以是<>(不等于),<小于,>大于等等运算符。
热心网友
时间:2022-04-08 00:16
select fieldname from tablename where pkfield = pkvalue
语句大意为:
从表格tablename中检索列pkfield 与列pkvalue 的值相同的记录,显示列fieldname 。
select为SQL数据检索语句,语法为:
select 列名称 from 表格名称 where 筛选条件
热心网友
时间:2022-04-08 01:51
pkfield 这个是一个字段,如果pkfield是一个主键那结果最多返回一条结果,你没把表结构发出来不知道pkvalue是不是字段,也不知道pkfield是不是主键,可以在表的属性看他是不是主键,一个表只有一个主键。