问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求企业招聘SQL语句

发布网友 发布时间:2022-04-28 14:58

我来回答

5个回答

热心网友 时间:2022-06-19 07:47

  1.--行列转换
  原表: 姓名 科目 成绩
  张三 语文 80
  张三 数学 90
  张三 物理 85
  李四 语文 85
  李四 物理 82
  李四 英语 90
  李四 * 70
  王五 英语 90

  转换后的表: 姓名 数学 物理 英语 语文 *
  李四 0 82 90 85 70
  王五 0 0 90 0 0
  张三 90 85 0 80 0

  实例:
  create table cj --创建表cj
  (
  ID Int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1
  Name Varchar(50),
  Subject Varchar(50),
  Result Int,
  primary key (ID) --定义ID为表cj的主键
  );
  --Truncate table cj
  --Select * from cj
  Insert into cj
  Select '张三','语文',80 union all
  Select '张三','数学',90 union all
  Select '张三','物理',85 union all
  Select '李四','语文',85 union all
  Select '李四','物理',82 union all
  Select '李四','英语',90 union all
  Select '李四','*',70 union all
  Select '王五','英语',90
  --行列转换
  Declare @sql varchar(8000)
  Set @sql = 'Select Name as 姓名'
  Select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result else 0 end) ['+Subject+']'
  from (select distinct Subject from cj) as cj --把所有唯一的科目的名称都列举出来
  Select @sql = @sql+' from cj group by name'
  Exec (@sql)

  2. 行列转换--合并
  原表: 班级 学号
  1 1
  1 2
  1 3
  2 1
  2 2
  3 1
  转换后的表: 班级 学号
  1 1,2,3
  2 1,2
  3 1

  实例:
  Create table ClassNo --创建表ClassNo
  (
  ID Int IDENTITY(1,1) not null, --创建列ID,并且每次新增一条记录就会加1
  Class Varchar(50), --班级列
  Number Varchar(50), --学号列
  Primary Key(ID) --定义ID为表ClassNo的主键
  );
  --Truncate Table ClassNo
  --Select * from ClassNo
  Insert Into ClassNo
  Select 1,1 Union all
  Select 1,2 Union all
  Select 1,3 Union all
  Select 2,1 Union all
  Select 2,2 Union all
  Select 3,1

  创建一个合并的函数
  --Drop Function KFReturn
  Create Function KFReturn(@Class Varchar(50))
  Returns Varchar(8000)
  as
  Begin
  Declare @str Varchar(8000)
  Set @str = ''
  Select @str = @str + cast(Number as Varchar(50)) + ',' from ClassNo Where Class = @Class
  Set @str = SubString(@str,1,len(@str)-1)
  Return(@str)
  End

  --调用自定义函数得到结果
  Select Distinct Class,dbo.KFReturn(Class) From ClassNo

  3:列转行
  --Drop Table ColumnToRow
  Create table ColumnToRow
  (
  ID Int IDENTITY(1,1) not null, --创建列ID,并且每次新增一条记录就会加1
  a int,
  b int,
  c int,
  d int,
  e int,
  f int,
  g int,
  h int,
  Primary Key(ID) --定义ID为表ColumnToRow的主键
  );
  --Truncate Table ColumnToRow
  --Select * from ColumnToRow
  Insert Into ColumnToRow
  Select 15,9,1,0,1,2,4,2 Union all
  Select 22,34,44,5,6,7,8,7 Union all
  Select 33,44,55,66,77,88,99,12

  Declare @sql Varchar(8000)
  Set @sql = ''
  Select @sql = @sql + rtrim(name) + ' from ColumnToRow union all Select ' from SysColumns Where id = object_id('ColumnToRow')
  Set @sql = SubString(@sql,1,len(@sql)-70)
  --70的长度就是这个字符串'from ColumnToRow union all Select ID from ColumnToRow union all Select ',因为它会把ID这一列的值也算进去,所以要把它截掉
  Exec ('Select ' + @sql + ' from ColumnToRow')

  4. 如何取得一个数据表的所有列名
  方法如下:先从sysobjects系统表中取得数据表的systemid,然后再syscolumns表中取得该数据表的所有列名。
  SQL语句如下:
  Declare @objid int,@objname char(40)
  set @objname = 'ColumnToRow'
  --第1种方法
  select @objid = id from sysobjects where id = object_id(@objname)
  select 'Column_name' = name from syscolumns where id = @objid order by colid
  --或也可以写成
  select name as 'Column_name' from syscolumns where id = @objid order by colid
  --第2种方法:
  Select name as 'Column_Name' from SysColumns where id = object_id(@objname) Order by colid

  5. 通过SQL语句来更改用户的密码
  修改别人的,需要sysadmin role
  Exec Sp_password '原始密码','更改后密码','账号'
  Exec sp_password null,ok,sa

  6. 怎么判断出一个表的哪些字段不允许为空?
  Declare @objname Varchar(50)
  set @objname = 'ColumnToRow'
  Select Column_Name from information_schema.Columns where is_nullable = 'No' and Table_Name = @objname

  7. 如何在数据库里找到含有相同字段的表?
  a. 查已知列名的情况
  Select a.name as Columnname,b.name as tablename from SysColumns a inner join sysobjects b on a.id = b.id
  and b.type = 'U' and a.name = '您要查找的字段名'
  b. 未知列名查所有在不同表出现过的列名
  Select s.name as tablename,s1.name as columnname from SysColumns s1,Sysobjects s
  Where s1.id = s.id and s.Type = 'U' and Exists (Select 1 from syscolumns s2 where s1.name = s2.name and s1.id <> s2.id)

  8.查询第N行数据
  假设id是主键:
  select *
  from (select top N * from 表) aa
  where not exists(select 1 from (select top N-1 * from 表) bb where aa.id=bb.id)

  9. SQL Server日期计算
  a. 一个月的第一天
  SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
  b. 本周的星期一
  SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
  c. 一年的第一天
  SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
  d. 季度的第一天
  SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
  e. 上个月的最后一天
  SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
  f. 去年的最后一天
  SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
  g. 本月的最后一天
  SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
  h. 本月的第一个星期一
  select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)
  i. 本年的最后一天
  SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

热心网友 时间:2022-06-19 07:47

至少要存在一个外键啊,要不两个表没有关系怎么连啊。
最好设计的时候参考第三范式。

热心网友 时间:2022-06-19 07:48

你给的表结构不对,在Job表里面应该有一个字段和Enterprise表连接起来;

热心网友 时间:2022-06-19 07:48

百度一下,你就知道。。。

热心网友 时间:2022-06-19 07:49

你给的表结构实在是太难,对于我们这些开发人员,你给的难题就像是小月月那婀娜多姿的身材一样恶心。。。
太难答了。。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
有效的教学激励策略有哪些 手机充电嗡嗡响怎么回事 手机在充电时发出嗡嗡作响 手机充电头快充有嗡嗡的声音 影视多媒体设计真的不好找工作吗 专科学影视多媒体技术好就业吗 影视多媒体技术专业就业怎么样 影视多媒体技术就业率 胆结石病人在输血后半个月,全身开始发痒是什么原因,怎样能够止痒呢?谢 ... 有关胆结石手术后的恢复,求教 遵义市汇川区城市建设投资经营有限公司怎么样? 河南谁是汇川变频器代理商? 什么样的保健品才可以在市场上销售? 商家需要具备什么样的资质才能销售保健品? 汇川技术这几个月效益怎么样?汇川技术股吧公司怎么样?汇川技术2021年分红了吗? 任汇川 简历? 河南周口汇川是不是疫情区现在? 汇川技术公司怎么样?汇川技术揭秘主力底部?汇川技术什么时候能分红? 河南汇川水处理材料有限公司怎么样? 河南汇川信息技术有限公司怎么样? 河南汇川企业管理有限公司怎么样? 河南省百汇川建筑工程有限公司怎么样? python 求数值绝对值最小值并返回原值 做榴莲酥的材料?? 硕美科耳机类型分类(声音的特色),电音、声籁、声丽、意想派,这几个牌子,有什么不用具体点,麻烦了 硕美科的耳机怎样?好用吗? 硕美科和声丽和声籁是啥关系? “硕美科EFi-82 Pro耳机”咋样?还有哪些好一些的耳机呢? 硕美科耳机怎么样? ?? 硕美科耳机怎么样,性价比怎么样,硕美科蓝牙耳机品质如何,在国内市场有怎么样的地位,硕美科sw320_百度问一问 想给我的u880买付耳机,是硕美科电音m49好些还是漫步者h110或h180 新乡汇川商贸有限公司怎么样? 驻马店市汇川水利技术服务有限公司怎么样? 《别了温哥华》的演员表? 别了温哥华演员表赵琳 07年到08年已经完结的经典电视剧以及电影 见龙卸甲里有张延么? 就那么回事儿的演职员表 女人如花里的范丽芸是谁演的 《女人如花》女演员名单 见龙解甲中为赵子龙演皮影戏的女子是谁 成年人晚上咳嗽厉害什么原因 成人晚上咳嗽白天不咳嗽怎么回事 人为什么会咳嗽呢? 总是咳嗽是怎么回事? 火化证有什么用处 火化证有什么用 火化证有什么用图 哪些情况下派得上用途 火化证明有什么用 人死亡后,火化证起什么作用?只有复印件是不是也能办理所有手续?哪一道手续必须要火化证原件? 我公公非正常死亡,火化证被我弄丢了,请问一下火化证对我们来说有什么用处?需要去补办吗?