1.SQL语句怎么写
select * from b where b.id not in (select id from a);
select b.* from a,b
minus
select a.t_id from a,b
where a.t_id = b.t_id;
select * from b where not exists (select 1 from a where a.t_id = b.t_id);
以上三种都可以的
2.SQL语句该怎么写
不知道理解的对不对,有问题再问我吧
建立测试数据
CREATE TABLE button(button_id varchar(10))
go
CREATE TABLE [user](USER_ID varchar(10))
go
create TABLE user_button(USER_ID varchar(10),button_id varchar(10))
go
INSERT INTO dbo.button
( button_id )
SELECT
1001
UNION ALL
SELECT
1002
UNION ALL
SELECT
1003
UNION ALL
SELECT
1004
go
INSERT INTO [dbo].[user]
( [USER_ID] )
SELECT
1
UNION ALL
SELECT
2
INSERT INTO dbo.user_button
( USER_ID, button_id )
SELECT 1,1002
UNION ALL
SELECT 1,1003
go查询语句
SELECT a.button_id,SUM(CASE WHEN isnull(b.USER_ID,'')='' THEN 0 ELSE 1 END) AS checked
FROM
(
SELECT *
FROM [user] cross APPLY [dbo].[button]
) a LEFT JOIN user_button b ON a.USER_ID=b.USER_ID AND a.button_id=b.button_id
GROUP BY a.button_id结果:
button_id checked
1001 0
1002 1
1003 1
1004 0
3.SQL语句 包含怎么写
你这个没办法做,
1. A表没有用,你要改的是B表的值,按编号进行分组排位,和A没关。
2. B表没有唯一键,没办法做为更新依据。一条记录要有一个唯一(可以多键)区分才行
下面给你一个参考,多表更新,PersonID=你的编号, value=序号,
UPDATE b SET b.Value=a.NewValue
FROM dbo.Table_B b
LEFT OUTER JOIN
(
SELECT ROW_NUMBER()OVER(PARTITION BY PersonID ORDER BY PersonID) NewValue,
PersonID,Displayorder FROM dbo.Table_B
) a
ON a.PersonID= b.PersonID AND a.Displayorder=b.Displayorder //二个条件确定唯一记录
你的表有自己的主键,那只要改成你的主键就行了。
4.【请教一个sql语句的写法请教一个sql语句的写法一个表,三个字段
update test a set a.code=(select code from test b where a.name=b.name) where account='02' Oracle的 SQL SERVER试一下这个,刚刚在网上查的语句,也不知道对不对,你测试一下吧update a set a.code=b.code from a join b on a.name=b.name where account='02' 是一个表呀,SQL SERVER用as来做表别名,这样一个表就有两个身份了,就可以连接了update a set a.code=b.code from a join a as b on a.name=b.name and a.account='01' and b.account='02' where account='02'最新查到,SQL SERVER可以用别名。
5.创建数据库的sql语句怎么写
最简单的语句如下:
USE master
GO
CREATE DATABASE 数据库名
ON
( NAME = prods_dat,
FILENAME = 'c:\program files\microsoft sql server\mssql\data\数据库名.mdf',
SIZE = 4,
MAXSIZE = 10,
FILEGROWTH = 1 )
GO
6.sql语句创建表
创建新表的程序功能为:
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
具体为:
创建之前判断该数据库是否存在
if exists (select * from sysdatabases where name='databaseName')
drop database databaseName
go
Create DATABASE databasename
on primary-- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
name='databasename_data',-- 主数据文件的逻辑名称
filename=''所存位置:\databasename_data.mdf', -- 主数据文件的物理名称
size=数值mb, --主数据文件的初始大小
maxsize=数值mb, -- 主数据文件增长的最大值
filegrowth=数值%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
name='databasename_log', -- 日志文件的逻辑名称
filename='所存目录:\databasename_log.ldf', -- 日志文件的物理名称
size=数值mb, --日志文件的初始大小
filegrowth=数值%--日志文件的增长值
)
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
sql 语句就是对数据库进行操作的一种语言。
扩展资料
1、常见语句
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like '%value1%' (所有包含'value1'这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
2、高级查询
A:UNION运算符
UNION 运算符通过组合其他两个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随UNION 一起使用时(即UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1 就是来自TABLE2。
B: EXCEPT运算符
EXCEPT 运算符通过包括所有在TABLE1 中但不在TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随EXCEPT 一起使用时(EXCEPT ALL),不消除重复行。
C:INTERSECT运算符
INTERSECT 运算符通过只包括TABLE1 和TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当ALL 随INTERSECT 一起使用时(INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
参考资料来源:百度百科-SQL语句大全
7.SQL语句要怎么写
首先,要得到,一个月的倒数第二天啊
select last_day(sysdate)-1 from dual
用last_day 函数,得到最后一天,然后,再 减去1 就得到 一个月的倒数第二天。
第二个问题,是,要对表中出现的月 都 要 进行 倒数第二天的计算
select distinct( last_day(到职日期)-1) from 员工信息
这个检索的语句,就是,得到 表中,各个月的倒数第二天。
最后的SQL就是
select * from 员工信息
where 到职日期 in (
select distinct( last_day(到职日期)-1) from 员工信息
)
哈哈,不知我说的清楚没有
我用的是ORACEL 数据库
转载请注明出处育才学习网 » sql语句的或者怎么写