Not really.
LEFT JOIN
returns an exponential amount of records, so is no good forSELECT
. (540540 records in my case, 378378 after deleting 10 records of one table, saving 20 of 70 seconds)INNER JOIN
also leaves out incomplete entries. (360360 records in 48 seconds)IN (a, b, c)
is the same asOR
, and is only efficient up to 64 items. The maximum number of values is limited by memory and time.That leaves string hacking string hacking, which is also limited by length and might add character escaping problems.
TABLE
is the only way to store an array in TSQL, so WHERE column IN (SELECT column FROM @table_var)
is the shortest generic way to match a set of values.
Not really.
LEFT JOIN
returns an exponential amount of records, so is no good forSELECT
. (540540 records in my case, 378378 after deleting 10 records of one table, saving 20 of 70 seconds)INNER JOIN
also leaves out incomplete entries. (360360 records in 48 seconds)IN (a, b, c)
is the same asOR
, and is only efficient up to 64 items. The maximum number of values is limited by memory and time.That leaves string hacking, which is also limited by length and might add character escaping problems.
TABLE
is the only way to store an array in TSQL, so WHERE column IN (SELECT column FROM @table_var)
is the shortest generic way to match a set of values.
Not really.
LEFT JOIN
returns an exponential amount of records, so is no good forSELECT
. (540540 records in my case, 378378 after deleting 10 records of one table, saving 20 of 70 seconds)INNER JOIN
also leaves out incomplete entries. (360360 records in 48 seconds)IN (a, b, c)
is the same asOR
, and is only efficient up to 64 items. The maximum number of values is limited by memory and time.That leaves string hacking, which is also limited by length and might add character escaping problems.
TABLE
is the only way to store an array in TSQL, so WHERE column IN (SELECT column FROM @table_var)
is the shortest generic way to match a set of values.
Not really.
LEFT JOIN
returns an exponential amount of records, so is no good forSELECT
. (540540 records in my case, 378378 after deleting 10 records of one table, saving 20 of 70 seconds)INNER JOIN
also leaves out incomplete entries. (360360 records in 48 seconds)IN (a, b, c)
is the same asOR
, and is only efficient up to 64 items. The maximum number of values is limited by memory and time.That leaves string hacking, which is also limited by length and might add character escaping problems.
TABLE
is the only way to store an array in TSQL, so WHERE column IN (SELECT column FROM @table_var)
is the shortest generic way to match a set of values.
Not really.
LEFT JOIN
returns an exponential amount of records, so is no good forSELECT
. (540540 records in my case, 378378 after deleting 10 records of one table, saving 20 of 70 seconds)INNER JOIN
leaves out incomplete entries. (360360 records in 48 seconds)IN (a, b, c)
is the same asOR
, and is only efficient up to 64 items. The maximum number of values is limited by memory and time.That leaves string hacking, which is also limited by length and might add character escaping problems.
TABLE
is the only way to store an array in TSQL, so WHERE column IN (SELECT column FROM @table_var)
is the shortest generic way to match a set of values.
Not really.
LEFT JOIN
returns an exponential amount of records, so is no good forSELECT
. (540540 records in my case, 378378 after deleting 10 records of one table, saving 20 of 70 seconds)INNER JOIN
also leaves out incomplete entries. (360360 records in 48 seconds)IN (a, b, c)
is the same asOR
, and is only efficient up to 64 items. The maximum number of values is limited by memory and time.That leaves string hacking, which is also limited by length and might add character escaping problems.
TABLE
is the only way to store an array in TSQL, so WHERE column IN (SELECT column FROM @table_var)
is the shortest generic way to match a set of values.
Not really.
LEFT JOIN
returns an exponential amount of records, so is no good forSELECT
. (540540 records in my case, 378378 after deleting 10 records of one table, saving 20 of 70 seconds)INNER JOIN
leaves out incomplete entries. (360360 records in 48 seconds)IN (a, b, c)
is the same asOR
, and is only works forefficient up to 64 items . The maximum number of values is limited by memory and time .That leaves string hacking, which is also limited by length and might add character escaping problems.
TABLE
is the only way to store an array in TSQL, so WHERE column IN (SELECT column FROM @table_var)
is the shortest generic way to match a set of values.
Not really.
LEFT JOIN
returns an exponential amount of records, so is no good forSELECT
. (540540 records in my case, 378378 after deleting 10 records of one table, saving 20 of 70 seconds)INNER JOIN
leaves out incomplete entries. (360360 records in 48 seconds)IN (a, b, c)
is the same asOR
, and only works for up to 64 itemsThat leaves string hacking, which is also limited by length and might add character escaping problems.
TABLE
is the only way to store an array in TSQL, so WHERE column IN (SELECT column FROM @table_var)
is the shortest generic way to match a set of values.
Not really.
LEFT JOIN
returns an exponential amount of records, so is no good forSELECT
. (540540 records in my case, 378378 after deleting 10 records of one table, saving 20 of 70 seconds)INNER JOIN
leaves out incomplete entries. (360360 records in 48 seconds)IN (a, b, c)
is the same asOR
, and is only efficient up to 64 items . The maximum number of values is limited by memory and time .That leaves string hacking, which is also limited by length and might add character escaping problems.
TABLE
is the only way to store an array in TSQL, so WHERE column IN (SELECT column FROM @table_var)
is the shortest generic way to match a set of values.