`
feiniao2029
  • 浏览: 21489 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sql常用查询语句-----表连接查询

 
阅读更多

一:

我的表结构,desc contest;

+----------+-------------+------+-----+---------+-------+

| Field    | Type        | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+-------+

| datatime | varchar(20) | YES  |     | NULL    |       |

| result   | varchar(20) | YES  |     | NULL    |       |

+----------+-------------+------+-----+---------+-------+

表内数据:

 

+------------+--------+

| datatime   | result |

+------------+--------+

| 2005-05-09 | fu     |

| 2005-05-09 | fu     |

| 2005-05-09 | 胜      |

| 2005-05-09 | 胜      |

| 2005-05-10 | fu     |

| 2005-05-10 | fu     |

| 2005-05-10 | 胜      |

+------------+--------+

如果要生成下列结果, 该如何写sql语句?

           胜 负
2005-05-09 2  2
2005-05-10 1  2

 

1、 select datatime,sum(case when result='胜' then 1 else 0 end) as '胜', sum(case when result='fu' then 1 else 0 end) as '负' from contest group by datatime;

 

2、 select m.datatime,m.ceshi as '胜',n.ceshi as '败' from (select datatime,count(*) as ceshi from contest where result='胜' group by datatime) m inner join (select datatime,count(*) as ceshi from contest where result='fu' group by datatime) n on m.datatime=n.datatime;

 

二:面试题:一个日期判断的sql语句?

请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)
------------------------------------------
select * from tb where datediff(dd,SendTime,getdate())=0

 

注意:上面适用于sqlserver,如果是mysql的话要去掉第一个参数,如下:

 select * from test2 where datediff(now(),time)=0;

 

 

三、表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列

select (case when A>B then A else B end) as value1,(case when B>C then Belse C end) as value2 from test3;

 

四 inner join 、left outer join 和right outer join的区别

 

表test2:

 

+----+---------------------+-------+

| id | time                | name  |

+----+---------------------+-------+

|  1 | 2011-08-07 21:20:43 | name1 |

|  2 | 2011-08-07 22:20:17 | name2 |

|  3 | 2011-08-07 22:20:25 | name3 |

+----+---------------------+-------+

表test3:

+------+------+------+

| A    | B    | C    |

+------+------+------+

|    3 |    4 |    5 |

|    5 |    4 |    6 |

|    6 |    4 |    2 |

+------+------+------+

 

mysql> select a.id, a.time,b.B from test2 a inner join test3 b on a.id=b.A;

+----+---------------------+------+

| id | time                | B    |

+----+---------------------+------+

|  3 | 2011-08-07 22:20:25 |    4 |

+----+---------------------+------+

1 row in set (0.03 sec)

 

mysql> select a.id, a.time,b.B from test2 a left outer join test3 b on a.id=b.A;

 

+----+---------------------+------+

| id | time                | B    |

+----+---------------------+------+

|  1 | 2011-08-07 21:20:43 | NULL |

|  2 | 2011-08-07 22:20:17 | NULL |

|  3 | 2011-08-07 22:20:25 |    4 |

+----+---------------------+------+

3 rows in set (0.00 sec)

 

mysql> select a.id, a.time,b.B from test2 a right outer join test3 b on a.id=b.A

;

+------+---------------------+------+

| id   | time                | B    |

+------+---------------------+------+

|    3 | 2011-08-07 22:20:25 |    4 |

| NULL | NULL                |    4 |

| NULL | NULL                |    4 |

+------+---------------------+------+

 

 

 

 

分享到:
评论

相关推荐

    SQLSserver2008 上

    14、利用T-SQL语句修改表 ? 15、利用T-SQL语句插入记录 ? 16、设置字段是否允许Null ? 17、利用Update语句更新表中记录 ? 18、利用Update语句更新表中记录2 ? 18、利用Update语句更新表中记录3 ? 19、利用...

    常用SQL 语句大全

    10、几个简单的基本的sql语句 11、几个高级查询运算词 12、使用外连接 13、分组:Group by: 14、对数据库进行操作: 15.如何修改数据库的名称: 第二部分、 提升 1、复制表 2、拷贝表 3、跨数据库之间表的...

    SQL技巧 常用SQL操作语句

    说明:外连接查询(表名1:a 表名2:b) SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 说明:日程安排提前五分钟提醒 SQL: select * from 日程安排 where datediff('minute',f...

    fire bird常用sql语句

    fire bird常用sql语句 一、分页写法小例: 二、显示表名和表结构 三、使用ISQL连接数据库 四、更新字段注释 五、显示字段注释 六、更新表注释 七、查询所有的表和视图(包括系统表和系统视图) 八、查询所有的用户表...

    DBA常用SQL语句

    DBA常用SQL语句,其中很多ORACLE DBA需要用到的常用语句

    sql常用语句 个人收集的几个常用语句

    常用的几个不好记的语句 和 数据库连接 希望给有用的

    精通sql结构化查询语句

    SQL查询篇第6章 简单的SELECT语句查询 6.1 查询的基本结构 6.1.1 了解SELECT语句 6.1.2 SELECT语句的语法格式 6.1.3 SELECT语句的执行步骤 6.2 简单的查询语句 6.2.1 查询表中指定的字段 6.2.2 查询所有的字段 6.2.3...

    T-SQL高级查询

    查询表的时候,有时候中间表需要重复使用,这些子查询被重复查询调用,不但效率低,而且可读性低,不利于理解。那么公式表表达式可以解决这个问题。 我们可以将公式表表达式(CET)视为临时结果集,在select、...

    oracle常用sql语句

    oracle常用的sql语句。 SQL PLUS下对数据库的常用操作语句, 比如显示当前连接用户、新建用户并授权、查询表结构、插入新记录、导入数据表等。一共34条,可能不是太多,但基本覆盖日常操作。

    SQL语句集锦.rar

    工作中常用的SQL + 超复杂SQL 交叉连接查询corss.txt 公交线路问题.txt 。。。。 充储过程--sql0.sql 分割字符串.txt 分布式查询.txt 分组排列进行更新.txt 别名.txt 动态SQL语句.txt 动态语句.txt 区分大小写.txt ...

    SQL语句总结

    本人学习MySQL笔记,常用的数据库操作增删改查等和条件,排序,分页,聚合函数,分组,连接,子查询等高级数据库操作的总结

    sqlserver常用sql

    死锁的诊断和定位 ...查询表结构 生成表结构文档 RebuildAllIndex 重建索引 查询索引碎片 查询数据库文件大小 修改max degree of parallelism 修改SQLServer最大内存 用DAC连接到SQL Server 其它SQL DBCC

    Transact-SQL语句基础

    利用Transact-SQL语句声明一个长度为16的nchar型变量bookname,并赋初值为”SQL Server 数据库编程”。 运算符的应用,使用teaching数据库 查询生日在’1989-01-01’之后的学生信息; 3)系统函数的应用 编程计算...

    精通SQL--结构化查询语言详解

    2.1.3 使用查询分析器执行sql语句 22 2.2 transact-sql 24 2.2.1 transact-sql 概述 24 2.2.2 transact-sql的主要组成 25 2.2.3 transact-sql的一些重要命令 26 2.3 oracle数据库 29 2.3.1 oracle数据库软件...

    SQL常用经典语句

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access...6、说明:外连接查询(表名1:a 表名2:b) selecta.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 7、说明:在线视图查询(表名1:a )

    SQL注入常用语句功能与技巧.rar

    SQL注入常用语句功能与技巧,每句都是经典。希望对想学注入的朋友们有用。。。。。

    SQL语句大全

    SQL基本语句使用示例 目录 --数据操作 2 --数据定义 2 --数据控制 2 --事务控制 2 --程序化SQL 2 ---局部变量 3 --IF ELSE 3 --CASE 3 --WHILE CONTINUE BREAK 3 --WAITFOR 4 ***SELECT*** 4 ***insert*** 5 ***...

    SQL 常用语句 sql简单技巧

    一些常用的SQL语句, 连接服务器 if isnull(@userid,'')='' --如果是 Nt验证方式 begin exec @err=sp_oasetproperty @srvid,'loginsecure',1 if @err<>0 goto lberr exec @err=sp_oamethod @srvid,'connect',...

    Web开发中常用的SQL语句

    Web开发中常用的SQL语句 说明:复制表(只复制结构,源表名:a 新表名:b) select * into b from a where 1<>1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) insert into b(a, b, c) select d,e,f from b; ...

    sql最全的常用命令语句

    sql最全的常用命令语句 询某个数据库的连接数 select count(*) from Master.dbo.SysProcesses where dbid=db_id() --前10名其他等待类型 SELECT TOP 10 * from sys.dm_os_wait_stats ORDER BY wait_time_ms ...

Global site tag (gtag.js) - Google Analytics