我是靠谱客的博主 无语蜜粉,最近开发中收集的这篇文章主要介绍SELECT t1.*,t2.* from table1 t1, table2 t2 多列or匹配模糊查询按匹配字段排序带where条件相当于内连接,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
SELECT t1.*,t2.* from table1 t1, table2 t2《===》SELECT * FROM table1 t1 CROSS JOIN table2 t2
以两张表的数据为基准,返回笛卡尔积!
每行字段为两张表的字段数和
FROM T1,T2是ANSI SQL-89的旧语法,用逗号分隔FROM子句出现的表名,没有JOIN关键字,也没有ON子句,它只支持交叉联接和内联接,不支持外联接;如果没有指定联接条件就是一个交叉联接。
新的ANSI SQL-92去掉了逗号,引入了JOIN和ON,支持交叉联接、内联接和外联接。
带where条件相当于内连接
SELECT * FROM table1 t1,table2 t2 where
t1.column = t2.column
等价于
SELECT * FROM table1 t1 INNER JOIN table2 t2 ON t1.column = t2.column
有个表pages ,有5个属性,id, url, title, body, site.
问: 用一条SQL语句搜出url,body,或site中包含’test’字符串的数据,且将含有‘test’的url 的结果放在最前面,其次是body, 然后是site 且不能有重复数据
创建表
CREATE TABLE pages (
id INT,
url nvarchar ( 100 ),
Title nvarchar ( 100 ),
body nvarchar ( 100 ),
site nvarchar ( 100 )
)
准备测试数据
INSERT pages SELECT
1,
'a',
'b',
'c',
'd' UNION ALL
SELECT
2,
'a',
'b',
'c',
'test' UNION ALL
SELECT
3,
'a',
'b',
'test',
'd' UNION ALL
SELECT
4,
'ftest',
'b',
'c',
'd' UNION ALL
SELECT
5,
'ftest',
'b',
'test',
'test' UNION ALL
SELECT
6,
'fffffffffff',
'testb',
'testc',
'd'
GO
查询语句
SELECT
*
FROM
pages
WHERE
url LIKE '%test%'
OR body LIKE '%test%'
OR site LIKE '%test%'
ORDER BY
CASE
WHEN url LIKE '%test%' THEN
0
WHEN body LIKE '%test%' THEN
1
WHEN site LIKE '%test%' THEN
2
END
查询结果
最后
以上就是无语蜜粉为你收集整理的SELECT t1.*,t2.* from table1 t1, table2 t2 多列or匹配模糊查询按匹配字段排序带where条件相当于内连接的全部内容,希望文章能够帮你解决SELECT t1.*,t2.* from table1 t1, table2 t2 多列or匹配模糊查询按匹配字段排序带where条件相当于内连接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复