我需要确认此查询正在执行我认为的操作。今天,我了解了这种使用逗号联接表的“老派”方法-并且它们没有指定子句。但是,其他一些表也已加入并且确实存在子句。这是查询:
SELECT a.Col1, a.Col2, b.Col3
FROM b, a
JOIN c ON c.Name = a.Name
AND c.ID = a.ID
到目前为止,根据我的研究,我的理解是逗号表示交叉连接,因此不需要列相等说明符(“ on”子句),因为交叉连接只是将第一张表中的每一行连接到表中的每一行。第二张桌子。
...因此,当为表c应用联接时,是在交叉联接之前还是之后应用这些联接?
使用“内部联接”,“交叉联接”而不是逗号的重写示例是什么?
答案 0 :(得分:1)
编写查询的正确方法是:
public static string HideAllButFirstAndLast(string word)
{
if (word == null) return null;
if (word.Length < 4) return new string('*', word.Length);
return word[0] + new string('*', word.Length - 2) + word[word.Length - 1];
}
private static void Main()
{
Console.WriteLine("Enter a sentence: ");
var sentence = Console.ReadLine();
Console.WriteLine("Enter a comma-separated list of censored words:");
var censoredWords = Console.ReadLine()
.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries)
.Select(word => word.Trim())
.ToList();
// Split sentence into words, replace words as needed, and join the words again
sentence = string.Join(" ", sentence.Split().Select(word =>
censoredWords.Contains(word, StringComparer.OrdinalIgnoreCase)
? HideAllButFirstAndLast(word)
: word));
Console.WriteLine(sentence);
GetKeyFromUser("\n\nDone! Press any key to exit...");
}
没有必要学习逗号。它们已过时,不应使用。